0

我的演示者定义了自己的观点

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;
4

2 回答 2

1

找到了:

TabControl mainTabControl = View.FindName("MainTabControl") as TabControl;
mainTabControl.Visibility = Visibility.Hidden;
于 2009-08-07T08:22:51.817 回答
1

您可以在视图中定义一个公开私有字段的公共属性。或者更好的是,不要这样做并在您的视图中定义一些抽象属性,例如“IsViewTabbed”或类似这样的东西,它将从演示者中抽象出 UI 代码。

于 2009-08-07T08:23:58.650 回答