5
A
回答
1
考慮使用WindowChrome和GlassFrameThickness = GlassFrameCompleteThickness。
這不是一個理想的解決方案 - 您必須小心地爲窗口標題騰出空間,以及最大化,最小化和關閉按鈕。這就是說,它確實消除了你正在處理的邊界問題。
有關如何在WindowChrome正在使用時管理內容佈局的示例,請參閱this解答。
這是一個完整的XAML也應該有所幫助:
<RibbonWindow x:Class="RibbonTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:RibbonTest"
xmlns:shell="clr-namespace:System.Windows.Shell;assembly=PresentationFramework"
mc:Ignorable="d"
Title="RibbonWindow" Height="350" Width="525">
<WindowChrome.WindowChrome>
<WindowChrome GlassFrameThickness="{x:Static shell:WindowChrome.GlassFrameCompleteThickness}"/>
</WindowChrome.WindowChrome>
<Window.Template>
<ControlTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<!-- Opacity of < 1.0 helps show the minimize, maximize and close buttons -->
<Border Grid.Row="0" Background="Wheat" Opacity="0.8">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30" />
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<!-- Window Title - Center Aligned -->
<TextBlock
Grid.Column="1"
TextAlignment="Center"
VerticalAlignment="Center"
Text="{Binding Title, RelativeSource={RelativeSource TemplatedParent}}" />
</Grid>
</Border>
<!-- This is the Window's main content area -->
<!-- Top margin 44 = WindowChrome ResizeBorderThickness (4) + CaptionHeight(40) -->
<!-- Bottom margin 1 is somewhat arbitrary -->
<Border Grid.Row="1" Background="White" Opacity="0.5">
<ContentPresenter Content="{Binding Content, RelativeSource={RelativeSource TemplatedParent}}"/>
</Border>
</Grid>
</ControlTemplate>
</Window.Template>
<Grid>
<Border Background="Cyan" BorderBrush="BlanchedAlmond" BorderThickness="5">
<Label FontSize="80" HorizontalAlignment="Center" VerticalAlignment="Center">Hello World</Label>
</Border>
</Grid>
</RibbonWindow>
產生的RibbonWindow會是這個樣子:
+0
非常好。它適用於我的示例項目:-)。而是將Boarder設置爲小麥我將它綁定到{DynamicResource {x:Static SystemColors.ActiveBorderBrush}}。檢查對我的風格的影響。 – gReX
相關問題
- 1. 右邊和左邊的UIButton邊框
- 2. 左邊,上邊,下邊和右邊的顏色漸變邊框
- 3. 與左邊和右邊
- 4. VIM中心文字屏幕,左邊和右邊無效邊框
- 5. 左邊是浮動右邊
- 6. 修復CSS邊框右和左邊框的問題
- 7. 平等左邊框和右邊框的高度在CSS
- 8. 對齊左邊中間和右邊
- 9. Wpf Dock Dock左邊和Dock右邊
- 10. Css邊框適合左右
- 11. C#Excel左右邊框
- 12. 使用css向右邊框和左邊框傾斜
- 13. 左邊框和右邊框不顯示在瀏覽器
- 14. LinearLayout:左邊的TextViews,右邊的ImageView大
- 15. 在JS中旋轉身體,左邊變爲左邊,右邊變爲左邊
- 16. 填充右側和左側邊框
- 17. 拆下左側和右側邊框
- 18. 需要一個正則表達式來替換左邊的右邊和右邊的左邊
- 19. 刪除邊界上最左邊和最右邊
- 20. 沒有底部邊框的全高左右邊框
- 21. 可在Android中使用左側或右側邊距繪製邊框的邊框
- 22. CSS Float左邊然後右邊
- 23. 浮動div左邊,其他div右邊
- 24. 左邊2個div 1右邊
- 25. 複選框與codeigniter和邊框厚度
- 26. 我可以同時設置邊界左邊界和右邊界邊界嗎?
- 27. 懸停框的動畫邊框(邊框左側,邊框頂部)
- 28. 邊框厚度過渡
- 29. 動畫UIButton邊框厚度
- 30. css3左邊的鋸齒邊不是右邊的
根據您所提供它看起來的鏈接像它只是,'已知問題'。另一張海報稱,不使用RibbonWindow,因爲它非常過時。在查看了RibbonWindow的一些問題之後,看起來微軟已經關閉了很多這些問題,並將它們設置爲「無法修復」,儘管它們是相對嚴重的問題。這可能是RibbonWindow正在被棄用的方式。 – Danielle
至少RibbonWindow尚未棄用。在鏈接之後,沒有描述「邊界錯誤」。只有:*當窗口處於最大化模式時,窗口內容(客戶端區域)被裁剪。 *窗口邊框太薄。 * QuickAccessToolbar的頂部沒有足夠的「邊距」。 *窗口標題模糊,頂部沒有足夠的「邊距」。 – gReX
https://connect.microsoft.com/VisualStudio/Feedback/Details/1263145 – gReX