ManWindow在选定选项卡中触发事件

时间:2016-03-14 23:34:26

标签: c# wpf button tabcontrol code-behind

如果之前有人问这个问题,我很抱歉。 在这里搜索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中触发事件,而我无法通过其他方式。首先要问这个问题感觉非常愚蠢。

谢谢,抱歉我的英文不好

1 个答案:

答案 0 :(得分:0)

有多种选项,您可以查找VisualTree或只使用Children的{​​{1}}属性并找到相应的元素。

Control