ContentControl VisualStateManager

时间:2013-04-17 08:38:47

标签: wpf visualstatemanager contentcontrol

我有一个ContentControl,它将Content绑定到变量

    <ContentControl x:Name="MyContentControl" Content="{Binding MyContent}" />

ContentControl在我的视图中'MainPage.xaml' 单击Button时,ContentControl的内容将设置为新视图,即“FirstPage.xaml”。 所以我有MainPage.xaml,其中包含一个内容为'FirstPage.xaml'的ContentControl。

问题是我在MainPage.xaml和我的FirstPage.xaml中设置了一个VisualStateManager。

如果我在Xaml-Editor中测试两个VisualState'Snapped',它可以正常工作。问题 - &gt; MainPage.xaml包括ContentControl = FirstPage.xaml。如果MainPage.xaml被Snapped,则只应用MainPage的VisualState,但ContentControl仍然是相同的(在ContentControl中不是VisualState更改)。

那么如何在ContentControl中应用VisualState?

1 个答案:

答案 0 :(得分:0)

问题解决了。我必须把它放在代码隐藏中:

    public MainPage()
    {
        this.InitializeComponent();
        Window.Current.SizeChanged += Current_SizeChanged;  
    }

    void Current_SizeChanged(object sender, Windows.UI.Core.WindowSizeChangedEventArgs e)
    {
        VisualStateManager.GoToState(this, ApplicationView.Value.ToString(), true);
    }