使用 non-static 用户控件而不用作 object

Using a non-static UserControl without using as an object

这个问题的措辞很尴尬,因为我发现它很难表达。我的代码也有点乱,因为我还在学习 C#,可能不应该直接研究 WPF。这也可能是我没有找到 google 的解决方案的原因。无论如何...

我的程序有一个带有搜索栏的菜单,tab-control 将程序分成几个部分,每个 tab-item 都有一个 user-control。 user-control 用于保持主要 window 的 XAML 清洁。这导致了我无法使用搜索栏的问题,因为它与 UserControl 是分开的。

由于user-control中的方法不能是静态的,我只能想到用ClassName标题来创建它GetItem newItem = new GetItem()。这行得通!除了 user-control 上不会显示任何内容这一事实(而 MessageBox 向我显示数据存在)因为(我认为)我几乎为我正在显示的内容创建了一个新的 user-control该程序使用 XAML 和 <local:user-control>

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

此外,我想通过删除使用 XAML 显示的 user-control 并在将其创建为 object 后以编程方式显示会起作用,但我更喜欢替代方案。

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

虽然我添加了:<local:UserControl/>, 我只需要添加 x:Name="InstanceName" 即可得到:

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

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

 InstanceName.GetMethod();