Ошибка или ошибка пользователя? Невозможно установить для свойства TextBlock VerticalAlignment значение Center - PullRequest
0 голосов
/ 08 октября 2009

Хммм. , , Я схожу с ума. , , или я?

Я создаю приложение WPF для ввода некоторых основных данных. Я использую текстовые блоки, чтобы пометить текстовые поля, но столкнулся с загадкой Почему я не могу вертикально центрировать текстовые блоки? Я не могу изменить вертикальное выравнивание вообще. Независимо от того, что я устанавливаю для свойства, текстовые блоки остаются наверху. Я хочу, чтобы они были в центре! Я могу изменить горизонтальное выравнивание без проблем.

Содержимое файла XAML, включая стили, включено ниже.

<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             x:Class="SL3_ContactEntry.MainPage"
             Width="500"
             Background="#FF99DF52">

    <UserControl.Resources>
        <Style x:Key="MyTextBlockStyle"
               TargetType="TextBlock">
            <Setter Property="FontSize"
                    Value="12" />
            <Setter Property="Margin"
                    Value="2" />
            <Setter Property="Width"
                    Value="Auto" />
            <Setter Property="Height"
                    Value="28" />
            <Setter Property="HorizontalAlignment"
                    Value="Right" />
            <Setter Property="VerticalAlignment"
                    Value="Center" />
        </Style>
        <Style x:Key="MyTextBoxStyle"
               TargetType="TextBox">
            <Setter Property="FontSize"
                    Value="12" />
            <Setter Property="Margin"
                    Value="2" />
            <Setter Property="Width"
                    Value="Auto" />
            <Setter Property="Height"
                    Value="28" />
        </Style>
        <Style x:Key="MyButtonStyle"
               TargetType="Button">
            <Setter Property="FontSize"
                    Value="12" />
            <Setter Property="Margin"
                    Value="2" />
            <Setter Property="Width"
                    Value="100" />
            <Setter Property="Height"
                    Value="33" />
        </Style>
    </UserControl.Resources>

    <Grid ShowGridLines="True">
        <Grid.RowDefinitions>
            <RowDefinition Height="0.81*" />
            <RowDefinition Height="0.19*" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <StackPanel Orientation="Vertical"
                    Grid.Column="0"
                    Margin="5">
            <TextBlock Name="FName"
                       Text="First Name"
                       Style="{StaticResource MyTextBlockStyle}" />
            <TextBlock Name="LName"
                       Text="Last Name"
                       Style="{StaticResource MyTextBlockStyle}" />
            <TextBlock Name="StreetAddress"
                       Text="Street Address"
                       Style="{StaticResource MyTextBlockStyle}" />
            <TextBlock Name="City"
                       Text="City"
                       Style="{StaticResource MyTextBlockStyle}" />
            <TextBlock Name="State"
                       Text="State"
                       Style="{StaticResource MyTextBlockStyle}" />
            <TextBlock Name="ZipCode"
                       Text="Zip Code"
                       Style="{StaticResource MyTextBlockStyle}" />
        </StackPanel>
        <StackPanel Orientation="Vertical"
                    Grid.Column="1"
                    Margin="5">
            <TextBox Name="txtFName"
                     Style="{StaticResource MyTextBoxStyle}" />
            <TextBox Name="txtLName"
                     Style="{StaticResource MyTextBoxStyle}" />
            <TextBox Name="txtStreetAddress"
                     Style="{StaticResource MyTextBoxStyle}" />
            <TextBox Name="txtCity"
                     Style="{StaticResource MyTextBoxStyle}" />
            <TextBox Name="txtState"
                     Style="{StaticResource MyTextBoxStyle}" />
            <TextBox Name="txtZipCode"
                     Style="{StaticResource MyTextBoxStyle}" />
            <Button Content="OK"
                    Style="{StaticResource MyButtonStyle}" />
        </StackPanel>
    </Grid>
</UserControl>

1 Ответ

0 голосов
/ 08 октября 2009

Я не уверен на 100%, почему он не центрируется, возможно, это связано с высотой, установленной для элементов, но вы можете применить отступы к TextBlocks, чтобы центрировать их с TextBoxes.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...