C# 如何返回所选选项卡项';容器中的控件

C# 如何返回所选选项卡项';容器中的控件,c#,wpf,webbrowser-control,C#,Wpf,Webbrowser Control,我有一个旧的windows窗体WebBrowser,我有: public WebBrowser getCurrentWebBrowser() { return (WebBrowser)TabControl.SelectedTab.Controls[0]; } 我想知道如何在WPF中做同样的事情 谢谢您的帮助。您可以挂接TabContals的SelectionChanged事件,然后在回调中使用类似的代码 private void TabControl_SelectionCh

我有一个旧的windows窗体
WebBrowser
,我有:

public WebBrowser getCurrentWebBrowser()  
{  
    return (WebBrowser)TabControl.SelectedTab.Controls[0];
}
我想知道如何在WPF中做同样的事情


谢谢您的帮助。

您可以挂接TabContals的SelectionChanged事件,然后在回调中使用类似的代码

  private void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            HeaderedContentControl hcc = e.AddedItems[0] as HeaderedContentControl;
            if (hcc != null)
            {
                WebBrowser webBrowser = hcc.Content as WebBrowser;
                if (webBrowser != null)
                {
                    // do something...
                }
            }
        }
如果您在多个选项卡中有一个WebBrowser,您可以命名选项卡项并调整回调

        <TabItem Header="Browser" Name="MyBrowserTabItem">
            <WebBrowser/>
        </TabItem>


private void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    HeaderedContentControl hcc = e.AddedItems[0] as HeaderedContentControl;
    if (hcc != null && hcc.Name == "MyBrowserTabItem")
    {
        WebBrowser webBrowser = hcc.Content as WebBrowser;
        if (webBrowser != null)
        {
            // do something...
        }
    }
}

私有无效选项卡控件\u SelectionChanged(对象发送者,SelectionChangedEventArgs e)
{
HeaderedContentControl hcc=e.添加数据项[0]作为HeaderedContentControl;
if(hcc!=null&&hcc.Name==“MyBrowserTabItem”)
{
WebBrowser WebBrowser=hcc。内容为WebBrowser;
如果(webBrowser!=null)
{
//做点什么。。。
}
}
}
SelectionChangedEventArgs的“AddItems”属性是自上次触发事件以来选定的对象列表。对于TabControl,AddedItems的长度通常应为1,单个元素应为HeaderedContentControl(即TabItem)的实例