Fla*_*ack 8 wpf infragistics xamdatagrid
使用Infragistics XamDataGrid我遇到了一种情况,我只想在设置了某个属性时才应用Style.但是,我认为这更像是一个普通的WPF /样式问题,而不是xamDataGrid特有的.
以下风格是我目前使用的.它将checkBox添加到记录选择器区域:
<Style TargetType="{x:Type igDP:RecordSelector}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type igDP:RecordSelector}">
<CheckBox x:Name="HeaderCheckBox"
HorizontalAlignment="Center"
VerticalAlignment="Center"
IsChecked="{Binding Path=DataItem.IsChecked}">
</CheckBox>
<ControlTemplate.Triggers>
<Trigger Property="IsFilterRecord" Value="True">
<Setter TargetName="HeaderCheckBox" Property="Visibility" Value="Collapsed"/>
</Trigger>
<Trigger Property="IsAddRecord" Value="True">
<Setter TargetName="HeaderCheckBox" Property="Visibility" Value="Collapsed"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
TargetType是RecordSelector.如果记录是筛选行或添加记录行,我不想显示复选框.
我想改变它,以便如果记录是添加记录行(IsAddRecord == true),那么根本不应用该样式.我希望添加记录行保留其默认样式.
这可能吗?
Cod*_*ked 10
您无法阻止样式在样式本身中应用,但您可以阻止使用Style.Triggers应用其Setter:
<Style TargetType="{x:Type igDP:RecordSelector}">
<Style.Triggers>
<Trigger Property="IsAddRecord" Value="False">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type igDP:RecordSelector}">
<CheckBox x:Name="HeaderCheckBox"
HorizontalAlignment="Center"
VerticalAlignment="Center"
IsChecked="{Binding Path=DataItem.IsChecked}">
</CheckBox>
<ControlTemplate.Triggers>
<Trigger Property="IsFilterRecord" Value="True">
<Setter TargetName="HeaderCheckBox" Property="Visibility" Value="Collapsed"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6081 次 |
最近记录: |