Не срабатывает свойство в WPF. В чём ошибка?

В приведённый ниже разметке у элементов TextBox не срабатывает свойство HorizontalAligment, я пытаюсь их выровнять по правой стороне, но они не реагируют, пробовал это делать как при помощи стилей, так и в самом коде.

<Window x:Class="Диплом.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Диплом"
        mc:Ignorable="d"
        Title="MainWindow" 
        Height="825" Width="1100"
        MinHeight="825" MinWidth="550"
        Background="White">

    <Window.Resources>
        <Style TargetType="StackPanel">
            <Setter Property="Orientation" Value="Horizontal"/>
            <Setter Property="Width" Value="500"/>
        </Style>
        <Style TargetType="TextBox">
            <Setter Property="HorizontalAlignment" Value="Right"/>
        </Style>
    </Window.Resources>
    
    <Grid>
        <Grid.Background>
            <ImageBrush>
                <ImageBrush.ImageSource>
                    C:\Users\User\Desktop\Диплом\Диплом\img\пту.jpeg
                </ImageBrush.ImageSource>
            </ImageBrush>
        </Grid.Background>

        <Border CornerRadius="40"
                VerticalAlignment="Center"
                HorizontalAlignment="Center"
                Width="700"
                Height="750"
                Padding="20">
            <Border.Background>
                <SolidColorBrush Color="White"
                                 Opacity="0.75"/>
            </Border.Background>
            <StackPanel Orientation="Vertical"
                        Width="660">
                <StackPanel>
                    <Label Content="Фамилия:"/>
                    <TextBox Width="300" HorizontalAlignment="Right"/>
                </StackPanel>
                <StackPanel>
                    <Label Content="Имя:"/>
                    <TextBox Width="300"/>
                </StackPanel>
                <StackPanel>
                    <Label Content="Отчество:"/>
                    <TextBox Width="300"/>
                </StackPanel>
                <StackPanel>
                    <Label Content="Телефон:"/>
                    <TextBox Width="300"/>
                </StackPanel>
            </StackPanel>
        </Border>
    </Grid>
</Window>
  • Вопрос задан
  • 174 просмотра
Решения вопроса 1
SpacePurr
@SpacePurr
c#, wpf
Вместо StackPanel используйте DockPanel
<DockPanel>
     <Label Content="Фамилия:"/>
     <TextBox Width="300" />
</DockPanel>


Для StackPanel стиль убирайте, для TextBox оставляйте.
5e7affefc3b9f806003549.png
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы