Подтвердить что ты не робот

Wpf textbox flat border style

нужно иметь плоский стиль рамки для текстового поля на основе wpf... действительно удивлен, увидев, что нет простого способа получить это, как было в текстовом поле winforms BorderStyle.FixedSingle

есть ли простой способ сделать это для текстового поля wpf

4b9b3361

Ответ 1

Способ сделать это - использовать шаблон управления для рисования границы самостоятельно. Вы можете сделать это по-разному, вот пара для вас, чтобы посмотреть.

Быстрый подход к взлому:

<TextBox>
    <TextBox.Template>
        <ControlTemplate TargetType="{x:Type TextBox}">
            <Grid>
                <Rectangle  Stroke="{StaticResource ResourceKey=detailMarkBrush}" StrokeThickness="1"/>
                <TextBox Margin="1" Text="{TemplateBinding Text}" BorderThickness="0"/>
            </Grid>
        </ControlTemplate>
    </TextBox.Template>
</TextBox>

а затем theres используя ресурсы...

<ResourceDictionary>
    <Color x:Key="detailMark">#FFA1A9B3</Color>
    <SolidColorBrush x:Key="detailMarkBrush" Color="{StaticResource ResourceKey=detailMark}" />
    <Style x:Key="flatTextBox" TargetType="{x:Type TextBox}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type TextBox}">
                    <Grid>
                        <Rectangle  Stroke="{StaticResource ResourceKey=detailMarkBrush}" StrokeThickness="1"/>
                        <TextBox Margin="1" Text="{TemplateBinding Text}" BorderThickness="0"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>

а затем вы можете использовать стиль:

<TextBox Style="{StaticResource ResourceKey=flatTextBox}" />

Ответ 2

<TextBox BorderThickness="1" BorderBrush="Black">

просто попробуйте сделать это черным или серым цветом