C # XAML привязка - PullRequest
       24

C # XAML привязка

0 голосов
/ 13 декабря 2018

Я пытаюсь реализовать интерфейс с использованием XAML и C #.Я создал XAML с панелью стека, и в этой панели стека у меня есть текстовое поле с минимальной и максимальной шириной и линией под ним.Я хотел бы изменить длину строки в зависимости от длины текстового поля, чтобы подчеркнуть текстовое поле, которое я пишу (текстовое поле увеличивается по ширине с вставленным текстом), но когда я делаю это

<StackPanel Canvas.Left="410" Canvas.Top="111">
        <TextBox MinWidth="30" MaxWidth="193" HorizontalAlignment="Left" TextWrapping="NoWrap" BorderThickness="0" Background="#3C4149" FontSize="32" Foreground="White" Name="tb"/>
        <Line X1="0" X2="{Binding tb.Width, UpdateSourceTrigger=PropertyChanged}" StrokeThickness="4" Stroke="White" Fill="White" Height="10" HorizontalAlignment="Left"/>
</StackPanel>

Значение X2 не изменяется, поэтому строка остается без какой-либо длины.Как я могу решить это?

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете использовать Border вместо линии и назначить фактическую ширину вашего TextBox, используя его имя:

<Border HorizontalAlignment="Left" BorderThickness="1" BorderBrush="Red" Width="{Binding ElementName=tb, Path=ActualWidth}"/>
...