0
如果之前詢問過此問題,我很抱歉。 在這裏搜索1小時後,我無法找到它。從選定的選項卡中的ManWindow發生火災事件
首先,我使用的是WPF,但不是MVVM。我知道MVVM是要走的路,我正在學習它。我是編程新手。
這是一個小程序,我在一個StackPanel中的主窗口上有按鈕,而另一個上有TabControl(_tabcntrl)。
在按鈕點擊主窗口生成一個標籤:
TabItem _tab = new TabItem();
UserControl _uc = new UserControl();
_tab.Content = _uc;
_tabcntrl.Items.Add(tab);
在用戶控件我有一個公共事件
public void test()
{
//some code
}
所以我的問題是如何火從在主主窗口(按鈕單擊此事件窗口),但僅限於選定的選項卡中。想法是,你可以有多個標籤具有相同的用戶控件。
我知道我可以用
_uc.test();
但在創建標籤,只有當做到這一點。
此外,我試圖把
TabItem tb = _tabcntrl.SelectedItem;
tb.test();
在按鈕的單擊事件,但我得到的錯誤。
愚蠢的是,我想出瞭如何從usercontrol引發事件,我不能以其他方式。感到非常愚蠢的第一個問這個問題。
謝謝你,對不起我的英語不好
Thx for VisualTree and Children property。 我發現簡單的方法僅具有兩個行代碼對將selectedItem僅 // Game_settings是用戶控件 的名稱 VAR CTRL = _tabcntrl.SelectedContent作爲Game_settings; ctrl.test(); – ostomac
太好了,但是請注意,只有當選項卡中有_only_ UserControl時,您的解決方案才能正常工作,當您有多個控件或項目層次結構時,這可能會失敗。 –
在這種情況下,它會。但是,提高頭腦,我會記住這一點。 – ostomac