我的演示者定义了自己的视图:
public SmartFormPresenter(SmartFormView view)
{
View = view;
View.DataContext = this;
}
在视图中,我有一个元素,其中包含x:Name =“MainTabControl”:
<DockPanel LastChildFill="True">
<TabControl x:Name="MainTabControl" DockPanel.Dock="Top" ItemsSource="{Binding SmartFormAreaPresenters}">
<TabControl.ItemContainerStyle>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Header" Value="{Binding Title}"/>
</Style>...
我如何像在后面的代码中那样访问这个元素,如下所示:
PSEUDO-CODE:
View.Root.Children.MainTabControl.Visibility = Visibility.Collapsed;
答案 0 :(得分:1)
您可以在视图中定义将公开私有字段的公共属性。或者更好的是,不要这样做并在视图中定义一些抽象属性,比如“IsViewTabbed”或者像这样,它会从演示者中抽象出UI代码。
答案 1 :(得分:0)
找到它:
TabControl mainTabControl = View.FindName("MainTabControl") as TabControl;
mainTabControl.Visibility = Visibility.Hidden;