向RibbonMenuButton添加不可选择的控件

时间:2012-08-22 19:35:42

标签: wpf xaml ribbon

我正在开发一个WPF项目,我开始开发Ribbon区域。我只是放了RibbonMenuButton并在其中添加了三个RibbonTextBox。我希望这些TextBoxes从用户检索一些数据。到目前为止,一切都很好。

<rb:RibbonMenuButton LargeImageSource="/image.png" Label="Settings"   >

    <rb:RibbonTextBox Label="Field 01:" Text="{Binding Field01 }" />
    <rb:RibbonTextBox Label="Field 02:" Text="{Binding Field02 }" />
    <rb:RibbonTextBox Label="Field 03:" Text="{Binding Field03 }" />

</rb:RibbonMenuButton>

我的问题是 RibbonTextBox成为菜单项,即我可以点击它并选择它。

但我想避免这种行为,我只想要一个“不可选择的” RibbonTextBox

有没有办法实现这一目标?

提前谢谢你。

2 个答案:

答案 0 :(得分:1)

我找到the solution here

<Style TargetType="{x:Type rb:RibbonMenuItem}">
     <Setter Property="Template">
         <Setter.Value>
             <ControlTemplate TargetType="{x:Type rb:RibbonMenuItem}">
                 <ContentPresenter ContentTemplate="{TemplateBinding HeaderTemplate}" 
                     Content="{TemplateBinding Header}" Grid.Column="1" 
                     ContentStringFormat="{TemplateBinding HeaderStringFormat}" 
                     ContentSource="Header" 
                     Margin="{TemplateBinding Padding}" 
                     RecognizesAccessKey="True" 
                     VerticalAlignment="Center"/>
             </ControlTemplate>
         </Setter.Value>
     </Setter>
 </Style>

这对我很有用。

答案 1 :(得分:0)

这些通常称为Labels。但是代替使用适当的控件,RibbonTextBox同时具有IsReadOnly属性,这将使其可选择(即用于复制/粘贴)但不可编辑。或IsEnabled,这将使其完全不互动。

我认为IsEnabled也会阻止您完全点击它,但我对此并不是百分之百确定。