这一点.控制不起作用

本文关键字:不起作用 控制 这一点 | 更新日期: 2023-09-27 17:50:38

using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Forms;
namespace WpfTestApp
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            string myName;
            myName = "textBox1";
            this.Controls.Find(myName);
        }
    }
}

以上代码返回以下错误:

错误1 'WpfTestApp。MainWindow'不包含'Controls'的定义,也没有扩展方法'Controls'接受类型为'WpfTestApp '的第一个参数。MainWindow'可以找到(您是否缺少using指令或程序集引用?)

this.不通过智能感知提供Controls作为选项。但我以前在代码示例中见过this.Contols.find(<name of control>)。但是我似乎不能使它工作。

任何帮助将不胜感激,我正在使用c#与Visual Studio 2010

这一点.控制不起作用

Controls是一个WinForms属性,但是你正在使用WPF。

在WPF中是完全不同的。例如,Window类不支持子类,这就是为什么没有Controls属性。

如果不知道你想要达到什么目标,就很难推荐正确的解决方案。

您之前看到的代码是用于Windows窗体的,而您正在尝试使用WPF。你可以试试:

this.FindName(myName);

这是FrameworkElement.FindName方法,将找到与x:Name相关联的东西

使用说明:

this.FindName(myName);

如果您为控件指定了x:name,则此操作将有效。

查看这个答案,因为这是一个更健壮的解决方案。