【发布时间】:2010-12-26 07:45:42
【问题描述】:
我在主窗口的 tabcontrol 中的 tabitems 中有许多用户控件。每个 tabitem 一个用户控件都在一个窗口内。
在其中一个控件(其中一个 tabitems 内部)执行一些代码后,我想启用/禁用其他 tabitems。
我该怎么做?
【问题讨论】:
标签: c# wpf visual-studio-2008 tabcontrol
我在主窗口的 tabcontrol 中的 tabitems 中有许多用户控件。每个 tabitem 一个用户控件都在一个窗口内。
在其中一个控件(其中一个 tabitems 内部)执行一些代码后,我想启用/禁用其他 tabitems。
我该怎么做?
【问题讨论】:
标签: c# wpf visual-studio-2008 tabcontrol
通常你会在模型对象中执行逻辑,所以你有“执行”的事件会改变模型(通过方法调用),然后模型会更新它的内部状态,这将由DependencyProperties 反映,您将通过 Xaml 绑定您的 UI。
【讨论】:
您可以修改启用和可见的属性:
tabPage1.Enabled = false;
tabPage1.Visible = false;
认为这更适合 OP:
FrameworkElement parent = userControl.Parent as FrameworkElement; // As is not needed, 'userControl' could be 'this'
if (FrameworkElement != null)
{
parent.IsEnabled = false;
parent.IsVisible = false;
}
【讨论】: