【问题标题】:How to clear a TextBox in a User Control in WPF C#?如何在 WPF C# 中清除用户控件中的文本框?
【发布时间】:2011-01-18 04:04:26
【问题描述】:

我有一个用户控件,其中有一个文本框,我正在使用主窗体上的清除按钮来清除整个主窗口中的信息。一旦单击清除按钮,我想清除用户控件中的文本框。我还没有找到一个简单的方法来做到这一点。我尝试在 c# 中引用控件的名称,后跟一个“。”但是文本框的名称不显示。任何帮助将不胜感激!

【问题讨论】:

    标签: wpf controls


    【解决方案1】:

    WPF 将UserControl 中的控件声明为private。要使您的 TextBox public 使用 FieldModifier 声明它,如下所示:

    <TextBox x:FieldModifier="Public" />
    

    其中x 是xaml 命名空间xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"。但是,清除TextBox 的推荐方法是将其绑定到属性,然后清除该属性。

    【讨论】:

      【解决方案2】:

      您不应尝试从外部类或代码直接访问 UserControl 中的控件。简单的机制是向 UserControl 添加 Clear() 方法,该方法清除 UserControl 内的所有相关控件和信息。

      【讨论】:

      • 好的,我创建了一个方法,有什么方法可以从主窗口的 cs 文件中访问它吗?
      • Clear() 方法最好放在 UserControl.xaml.cs 文件中(作为公共文件),假设它是您创建的 UserControl。然后您可以轻松清除文本框。如果 UserControl 正在使用 DataBinding,那么您应该确保已清除绑定的元素。
      【解决方案3】:

      文本框可以绑定到 UserControl 的 DataContext。因此,清除它的一种方法可能是将绑定到 TextBox 的 Text 属性的属性设置为空字符串。

      【讨论】:

        猜你喜欢
        • 2011-02-07
        • 2018-12-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多