【发布时间】:2011-01-18 04:04:26
【问题描述】:
我有一个用户控件,其中有一个文本框,我正在使用主窗体上的清除按钮来清除整个主窗口中的信息。一旦单击清除按钮,我想清除用户控件中的文本框。我还没有找到一个简单的方法来做到这一点。我尝试在 c# 中引用控件的名称,后跟一个“。”但是文本框的名称不显示。任何帮助将不胜感激!
【问题讨论】:
我有一个用户控件,其中有一个文本框,我正在使用主窗体上的清除按钮来清除整个主窗口中的信息。一旦单击清除按钮,我想清除用户控件中的文本框。我还没有找到一个简单的方法来做到这一点。我尝试在 c# 中引用控件的名称,后跟一个“。”但是文本框的名称不显示。任何帮助将不胜感激!
【问题讨论】:
WPF 将UserControl 中的控件声明为private。要使您的 TextBox public 使用 FieldModifier 声明它,如下所示:
<TextBox x:FieldModifier="Public" />
其中x 是xaml 命名空间xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"。但是,清除TextBox 的推荐方法是将其绑定到属性,然后清除该属性。
【讨论】:
您不应尝试从外部类或代码直接访问 UserControl 中的控件。简单的机制是向 UserControl 添加 Clear() 方法,该方法清除 UserControl 内的所有相关控件和信息。
【讨论】:
文本框可以绑定到 UserControl 的 DataContext。因此,清除它的一种方法可能是将绑定到 TextBox 的 Text 属性的属性设置为空字符串。
【讨论】: