使用与TextBox相同的边框作为我的控件

时间:2013-07-02 08:07:51

标签: wpf wpf-controls border wpftoolkit

我有一个自定义 WpfToolkit DataGrid (.net 3.5),它始终处于编辑模式,我希望它与标准TextBox具有相同的边框。

我试图:

  1. 将我的控件的BorderBrush绑定到TextBox的BorderBrush(看起来TextBox的BorderBrush为null)。
  2. 在运行时读取TextBox的BorderBrush(它始终为null)。
  3. 我也尝试手动设置BorderBrush,但TextBox有一个 不同的边框画笔取决于Windows主题。
  4. 普通的TextBox边框如下所示:

    enter image description here

    我的控件看起来像这样,但应该与文本框具有相同的边框:

    enter image description here

    编辑:

    我的DataGrid单元格样式:

    <Style TargetType="{x:Type Controls:DataGridCell}" x:Key="DefaultExcelCell">
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="TextBlock.TextAlignment" Value="Right" />
        <Style.Triggers>
            <Trigger Property="IsSelected" Value="True">
                <Setter Property="Background" Value="Transparent" />
                <!-- The text color of a selected cell (Black = same as not selected cell) -->
                <Setter Property="Foreground" Value="Black" />
            </Trigger>
        </Style.Triggers>
    </Style>
    

1 个答案:

答案 0 :(得分:0)

查看默认的TextBox样式,您可以弄清楚那里发生了什么。我不明白为什么运行时BorderBrush的{​​{1}}始终为空,如果TextBox没有应用其他样式,则不应该这样。

TextBox