如何使用触发器重置绑定的文本框文本
How to reset a bound textbox text using triggers
我正在尝试设计一个自定义 TextBox 控件,它有一个清晰的按钮,让用户像 Metro 风格的文本框一样放置 TextBox 文本。
在 ControlTemplate 触发器中,我有一个触发器来完成这项工作。
<Trigger SourceName="ClearButton" Property="IsPressed" Value="True">
<Setter Property="Text" Value="{x:Null}"/>
</Trigger>
我应该说它工作正常,除非 TextBox 的 TextProperty 绑定到模型的字符串 属性。在这种情况下,不会通过单击“清除”按钮来重置文本。
我不知道问题可能是什么以及如何解决。
请帮忙。提前致谢。
为什么要使用触发器?在自定义文本框的代码中包含一个单击处理程序会更有意义。这是创建自定义控件的正确约定。当您将 Text 设置为 null 时,您并没有更新绑定,而是用新值替换它。
我正在尝试设计一个自定义 TextBox 控件,它有一个清晰的按钮,让用户像 Metro 风格的文本框一样放置 TextBox 文本。
在 ControlTemplate 触发器中,我有一个触发器来完成这项工作。
<Trigger SourceName="ClearButton" Property="IsPressed" Value="True">
<Setter Property="Text" Value="{x:Null}"/>
</Trigger>
我应该说它工作正常,除非 TextBox 的 TextProperty 绑定到模型的字符串 属性。在这种情况下,不会通过单击“清除”按钮来重置文本。
我不知道问题可能是什么以及如何解决。
请帮忙。提前致谢。
为什么要使用触发器?在自定义文本框的代码中包含一个单击处理程序会更有意义。这是创建自定义控件的正确约定。当您将 Text 设置为 null 时,您并没有更新绑定,而是用新值替换它。