【发布时间】:2010-06-17 18:14:13
【问题描述】:
如何从包含在选项卡本身中的另一个用户控件向一个用户控件中存在的选项卡控件添加选项卡? 我可以通过一些静态全局方法而不将 tabcontrol 作为构造函数中的参数传递吗?
我试过了
public static ObservableTabCollection FindCollectionFromUC(this DependencyObject depObject)
{
bool loop = true;
var parent = (VisualTreeHelper.GetParent(depObject) as FrameworkElement);
while (loop)
{
if (parent.GetType() is typeof(TabControl))
{
loop = false;
return ((ObservableTabCollection)((TabControl)parent).ItemsSource);
}
parent = parent.GetParent() as FrameworkElement;
}
return null;
}
==== 编辑 ==== 解决方案是这样的:
bool loop = true;
var parent = depObject as FrameworkElement;
while (loop)
{
if (parent != null)
{
parent = VisualTreeHelper.GetParent(parent) as FrameworkElement;
var type = parent.GetType();
if (parent.GetType() == typeof(TabControl))
{
loop = false;
return ((ObservableTabCollection)((TabControl)parent).ItemsSource);
}
}
else { loop = false; }
}
return null;
【问题讨论】:
标签: c# wpf silverlight tabcontrol