繁体   English   中英

C#XAML绑定

[英]C# XAML binding

我正在尝试使用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的值不变,因此该行保持没有任何长度。 我该如何解决?

您可以使用Border控件而不是line并使用其名称分配TextBox的实际宽度:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM