我在2010 年 10 月为 WPF 使用 Microsoft 功能区,并且在RibbonControlGroup
. 左侧和右侧是纯文本RibbonToggleButton
控件,中间是仅图像控件RibbonButton
。按钮具有定义的宽度以匹配上面的行。
我的代码:
<r:RibbonControlGroup>
<r:RibbonToggleButton Width="110" Label="Outgoing" IsChecked="True" />
<!-- Padding and Height set to align the buttons/image -->
<r:RibbonButton Width="30" Padding="5 0" Height="24" SmallImageSource="Images\Small\arrow_swap.png" />
<r:RibbonToggleButton Width="110" Label="Incoming" />
</r:RibbonControlGroup>
问题是,一旦我将 应用SmallImageSource
到中间按钮,另外两个就会获得图像间距,导致文本不再居中。这就是问题(1)。
因为我没有找到快速的解决方案,所以我尝试不通过添加中间按钮的图像SmallImageSource
,而是通过添加它作为<Image>
按钮的内容。但是,该按钮将保持为空。这就是问题(2)。
我的第三个解决方案是在左右按钮上也添加图像。不幸的是,图像和文本之间几乎没有边距,这看起来很丑陋。我尝试了几件事来扩大边距,比如在 . 中添加一个<Style TargetType="Image">
,<RibbonToggleButton.Resources>
但是尽管编辑器接受它并在设计时显示间距,但边距在运行时又消失了。这就是问题(3)。
有人对这三个问题中的任何一个有适当的解决方案吗?我无法让它工作。问题的数量也是备选方案的偏好,(1) 最喜欢与适当的 hack 一起使用。