我已经定义了以下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>
Run Code Online (Sandbox Code Playgroud)
我想在行聚焦时应用这种风格:
<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>
Run Code Online (Sandbox Code Playgroud)
为什么不起作用?我不明白为什么触发器被执行noct.有解决方案吗
设置的本地属性值的<Border BorderThickness="0" ...>优先级高于Style设置的任何值.因此,默认忽略触发器设置的值.
只需删除BorderThickness赋值:
<Border BorderBrush="#D0C9A0" Style="{StaticResource borderStyle}">
...
</Border>
Run Code Online (Sandbox Code Playgroud)
请参阅依赖项属性值优先级.