BorderThickness of Border control并不起作用

时间:2015-02-17 15:02:44

标签: .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>

我希望在关注行时应用此样式:

        <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。任何解决方案?

1 个答案:

答案 0 :(得分:5)

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

只需删除BorderThickness分配:

<Border BorderBrush="#D0C9A0" Style="{StaticResource borderStyle}">
    ...
</Border>

请参阅Dependency Property Value Precedence