边境控制的BorderThickness不起作用

MrS*_*Scf 1 .net wpf xaml

我已经定义了以下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.有解决方案吗

Cle*_*ens 5

设置的本地属性值的<Border BorderThickness="0" ...>优先级高于Style设置的任何值.因此,默认忽略触发器设置的值.

只需删除BorderThickness赋值:

<Border BorderBrush="#D0C9A0" Style="{StaticResource borderStyle}">
    ...
</Border>
Run Code Online (Sandbox Code Playgroud)

请参阅依赖项属性值优先级.