如何以编程方式获取TabControl的子级

时间:2019-09-10 06:52:04

标签: c# wpf

我有以下曾经为我工作的代码。我将其用作占位符,因为我总是最终将TabControl嵌套在另一个控件中。

public partial class MyTabControl : TabControl {

    public TabControl _tc { get { return ((Grid)Content).Children[0] as TabControl; } }
}

但是,我最近更新了一些nuget软件包(MahApps.Metro及其依赖项),现在出现错误The name 'Content' does not exist in the current context

虽然我将WPF的TabControl子类化,但是我不确定nuget软件包是否应该对此有所影响。有谁知道一种变通办法以获得相同的结果?我基本上只是希望能够以编程方式调用TabControl的子级。

1 个答案:

答案 0 :(得分:0)

TabControl具有SelectedContent属性,该属性返回当前所选标签的内容:

public partial class MyTabControl : TabControl
{
    public TabControl _tc { get { return ((Grid)SelectedContent).Children[0] as TabControl; } }
}

为此,它假定所选选项卡实际上包含带有嵌套Grid的{​​{1}}:

TabControl