Mou*_*Mou 13 data-binding wpf xaml
我正在通过谷歌寻找代码,根据文本框中的文本属性启用和禁用按钮.如果文本框中有一些文本,则应启用该按钮,否则应禁用该按钮.
我得到了一些代码,但代码在xaml但没有c#.我无法理解它是如何工作的.
请帮我理解以下代码的行为:
<TextBox Name="txtName" Width="100" Height="30"></TextBox>
<Button Content="Add Name " Width="100" Height="30"
IsEnabled="{Binding ElementName=txtName, Path=Text.Length, Mode=OneWay}"/>
Run Code Online (Sandbox Code Playgroud)
IsEnabled按钮属性如何工作?如何将true和false设置为IsEnabled属性?路径是什么?它是如何工作的?
但上面的绑定将在TextBox上观察Text属性以进行更改.然后,它将在Text属性返回的值上观察Length属性,该属性是一个字符串.Length属性的值传递给IsEnbled属性.
当您将Int32(Length属性)分配给布尔值(IsEnabled属性)时,也必须转换该值.这通常是通过类型转换器完成的,这就是为什么上述工作(让我感到惊讶).
更新:
上面的第一个链接不再有效,因为早于2008年的MSDN杂志文章不再在线提供.它们可用作CHM文件.相关文章的标题为"数据点:WPF中的数据绑定"的CHM链接是:
来自MSDN:
2008和更早版本的问题仅作为.chm文件提供.在大多数Windows版本中,您必须先将这些文件保存到本地计算机,然后取消阻止该文件以进行读取.要取消阻止文件,请右键单击该文件,然后选择属性,然后选择"取消阻止"按钮.然后可以阅读内容.