Например:

<TextBox x:Name="TextBox1" Text="A text" Width="Auto"/>

Вместо того, чтобы устанавливать ширину как Авто , я хочу установить ее как 2 * Авто , как добиться этого напрямую в XAML?

0
Pi Z 15 Сен 2018 в 09:29

2 ответа

Лучший ответ

Как насчет того, чтобы установить его через определения столбцов вашей сетки? Затем установите HorizontalAlignment = "Stretch" вашего TextBox.

   <Grid>
       <Grid.ColumnDefinitions>
           <ColumnDefinition Width="2*"/>
           <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
       <TextBox Grid.Column="0" x:Name="TextBox1" Text="A text" Height="50" VerticalAlignment="Top" HorizontalAlignment="Stretch"/>
    </Grid>

enter image description here

1
Mac 15 Сен 2018 в 06:34

Я не совсем понимаю, какова ваша цель. Обычно об этом позаботится контейнер вокруг текстового поля. Один (хакерский) способ - использовать сетку с HorizontalContentAlignment = Stretch и разместить там второй TextBox с удвоенным текстом и Visibility = Hidden.

0
Joey 15 Сен 2018 в 06:33