0
我有一个TabControl 和RichTextBox控件如下触发选项卡控制
<TabControl x:Name="tabControl" SelectedIndex="{Binding SelectedTabIndex, Mode=TwoWay}">
<TabItem Header="Edit" TabIndex="0" />
<TabItem Header="View" TabIndex="1" />
</TabControl>
<RichTextBox x:Name="richTextBox"> </RichTextBox>
,现在我已经喜欢
<Style TargetType="Table" x:Key="EditStyleKey">
<Setter Property="BorderBrush" Value="Black"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Padding" Value="1"/>
</Style>
<Style TargetType="Table" x:Key="ViewStyleKey">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Padding" Value="0"/>
</Style>
定义了两种风格我将创建丰富的文本框的表。
我的问题是,当我选择第一个tabitem(SelectedIndex = 0),那么我应该应用触发器来更改richtextbox中表格的样式“EditKeyStyle”。当我选择第二个选项卡(SelectedIndex = 1)时,我应该为Richtextbox应用“ViewStyleKey”。
因为我是WPF的新手,我无法使用触发器修复它,我不确定在哪里编写这些依赖关系的触发器。
有人请为我提供帮助解决此问题,因为这是一个高优先级问题。
在此先感谢。
克里斯蒂安您好,感谢您的答复。这里我遇到了一个问题,那就是我将动态创建表格和表格。所以我应该基于tabItemSeleceted将样式应用于表格和表格单元格。所以我不能直接在richtextbox中应用这种样式'
@ user2337613您可以使用“ContentControl”而不是“Table”,并换出DataTrigger中的ContentTemplate。克里斯蒂安是正确的想法,根据一个绑定值改变属性的最佳解决方案是一个'DataTrigger' – Rachel 2013-05-01 12:08:06
谢谢你们我把它修复了...... :) – user2337613 2013-05-01 12:24:25