使用非静态用户控件而不用作对象

本文关键字:作对 对象 用户 静态 控件 | 更新日期: 2024-11-05 10:30:34

这个问题的措辞会很尴尬,因为我发现很难用词来表达。我的代码也有点混乱,因为我仍在学习 C#,可能不应该深入研究 WPF。这可能也是我还没有找到谷歌解决方案的原因。无论如何。。。

我的程序有一个带搜索栏的菜单,带有一个将程序分成多个部分的选项卡控件,每个选项卡项都有一个用户控件。用户控件用于保持主窗口的 XAML 整洁。这导致了我无法使用搜索栏的问题,因为它与用户控件是分开的。

由于用户控件中的方法不能是静态的,我只能考虑使用 ClassName title GetItem newItem = new GetItem() 创建它。这行得通!除了用户控件上不会显示任何内容(而 MessageBox 向我显示数据存在)这一事实之外,因为(我认为)我几乎已经创建了一个新的用户控件,以使用 XAML 和 <local:user-control> 在程序上显示的内容。

我不太熟悉数据绑定,但我尝试绑定标签没有成功,因为我的印象是通过使用绑定,标签将显示相同的数据。是这样吗,我只是实施错了?

此外,我想通过删除使用 XAML 显示的用户控件,而是在将其创建为对象后以编程方式显示会起作用,但我更喜欢替代方案。

使用非静态用户控件而不用作对象

我发现获得我希望达到的效果的最简单方法是这个。

虽然我补充说:<local:UserControl/>,我只需要添加x:Name="InstanceName"即可获得:

 <local:UserControl x:Name="InstanceName"/>

有了这个,我可以将GetItem newItem = new GetItem();替换为:

 InstanceName.GetMethod();