如果之前有人问这个问题,我很抱歉。 在这里搜索1小时后,我无法找到它。
首先,我使用的是WPF,但不是MVVM。我知道MVVM是要走的路,我正在学习它。我是编程新手。
这是一个小程序,我在一个StackPanel中的主窗口上有按钮,在另一个中有TabControl(_tabcntrl)。
在按钮上单击主窗口会生成一个选项卡:
TabItem _tab = new TabItem();
UserControl _uc = new UserControl();
_tab.Content = _uc;
_tabcntrl.Items.Add(tab);
在usercontrol中我有一个公共事件
public void test()
{
//some code
}
所以我的问题是如何从主窗口触发此事件(主窗口中的按钮单击),但仅限于选定的选项卡。想法是你可以有多个具有相同用户控件的选项卡。
我知道我可以用
来做_uc.test();
但仅在创建标签时。
我还试着把
TabItem tb = _tabcntrl.SelectedItem;
tb.test();
在按钮点击事件中,但我收到错误。
愚蠢的是我想出了如何从usercontrol中触发事件,而我无法通过其他方式。首先要问这个问题感觉非常愚蠢。
谢谢,抱歉我的英文不好
答案 0 :(得分:0)
有多种选项,您可以查找VisualTree
或只使用Children
的{{1}}属性并找到相应的元素。
Control