我定义了以下DataTemplate:
<dxg:TableView.DataRowTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<Border BorderThickness="0" BorderBrush="#D0C9A0" Style="{StaticResource borderStyle}">
<dx:MeasurePixelSnapper>
<ContentControl Content="{Binding}" ContentTemplate="{Binding View.DefaultDataRowTemplate}"/>
</dx:MeasurePixelSnapper>
</Border>
</StackPanel>
</DataTemplate>
</dxg:TableView.DataRowTemplate>
我希望在关注行时应用此样式:
<Style TargetType="Border" x:Key="borderStyle">
<Setter Property="BorderThickness" Value="0"/>
<Style.Triggers>
<Trigger Property="dxg:GridViewBase.IsFocusedRow" Value="True">
<Setter Property="BorderThickness" Value="4"></Setter>
</Trigger>
</Style.Triggers>
</Style>
为什么不起作用?我不明白为什么触发器被执行noct。任何解决方案?
答案 0 :(得分:5)
<Border BorderThickness="0" ...>
设置的本地属性值优先于Style设置的任何值。因此,默认忽略触发器设置的值。
只需删除BorderThickness分配:
<Border BorderBrush="#D0C9A0" Style="{StaticResource borderStyle}">
...
</Border>