我想将RibbonWindow的标题居中,而不是让它在侧面对齐。
这个帖子说它有一个答案: Center WPF RibbonWindow Title via XAML Code
但它不起作用。
Bellow是一张图片和相应的代码。
<RibbonWindow x:Class="Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<Ribbon>
<Ribbon.TitleTemplate>
<DataTemplate>
<TextBlock TextAlignment="Center" HorizontalAlignment="Stretch" Width="{Binding ElementName=Window, Path=ActualWidth}">ApplicationTitle
<TextBlock.Effect>
<DropShadowEffect ShadowDepth="0" Color="MintCream " BlurRadius="10" />
</TextBlock.Effect>
</TextBlock>
</DataTemplate>
</Ribbon.TitleTemplate>
</Ribbon>
</Grid>
</RibbonWindow>
我使用的是VS 2012,包含.NET 4.5和随附的System.Windows.Controls.Ribbon程序集。
答案 0 :(得分:5)
使用RibbonControlsLibrary进行WPF有一个糟糕的经历。它不仅涉及标题中心问题。它还会打破顶部的窗口圆角,图标和标题在最大化时从屏幕中消失,而且我个人没有找到编写功能区组对话框的机会。所有这一切都促使我寻找替代方案,我找到了Fluent Ribbon Controls Suite
下载源代码并为.NET 4.5构建它(我完全没有问题)。
答案 1 :(得分:1)
绑定中的ElementName
(Width="{Binding ElementName=Window, Path=ActualWidth}"
)需要与RibbonWindow的名称匹配。因此,在这种情况下,您需要“Window”作为名称:
<RibbonWindow x:Class="Window1" x:Name="Window"
... />