私はWindowsStateTriggers NuGetパッケージを使用するプロパティに基づいてUIの別のセクションを示したいと思います。
一度インストールあなたのXAMLのトップ
xmlns:triggers="using:WindowsStateTriggers"
、あなたがIsBusy
public bool IsBusy { get; set; } = false;
と呼ばれるあなたのバックエンドクラスのプロパティを持っていたし、たとえば、あなたが2シンプルを持っていたと言うで参照することができますあなたのxamlのグリッド。
<StackPanel x:Name="root">
<Grid x:Name="RedGrid" Background="Red" Width="200" Height="100" />
<Grid x:Name="GreenGrid" Background="Green" Width="200" Height="100" Visibility="Collapsed"/>
</StackPanel>
Visual State Groupを設定して、IsBusyプロパティに基づいてグリッドを表示できます。 IsBusy =真
<StackPanel x:Name="root">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="IsBusy">
<VisualState.StateTriggers>
<triggers:EqualsStateTrigger EqualTo="True" Value="{Binding IsBusy, ElementName=root}" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="RedGrid.Visibilty" Value="Collapsed"/>
<Setter Target="GreenGrid.Visibility" Value="Visible" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid x:Name="RedGrid" Background="Red" Width="200" Height="100" />
<Grid x:Name="GreenGrid" Background="Green" Width="200" Height="100" />
</StackPanel>
NB {Binding IsBusy, ElementName=root}
があなたのDataContext
とIsBusy
財産の場所に依存したときに私たちは、グリーン・グリッドが見えるようにしたいと赤のグリッドが崩壊すること。ここではそのページのコードの後ろにあります。 あなたにアイデアを与えることを願っています。
これはWindowsの普遍的なアプリですか? – SWilko
はい、申し訳ありませんが、UWPアプリケーション – user6115111
私は3つのグリッドをすべて入れて、可視性のコンバータに列挙型で可視性を制御すると思います – user6115111