0
我正在第一次使用VisualStateManager。不幸的是,我沒有得到它運行。UWP - VisualStateManager.GoToState()不起作用
這是我的XAML碼:
<SplitView x:Name="spltvw" IsPaneOpen="False" DisplayMode="CompactInline"
CompactPaneLength="48" Grid.Row="1" PaneBackground="#FFDADADA">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="lowerThan7State">
<VisualState.Setters>
<Setter Target="spltvw.DisplayMode" Value="Overlay" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="defaultState">
<VisualState.Setters>
<Setter Target="spltvw.DisplayMode" Value="CompactInline" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
....
</SplitView>
,這是我的代碼隱藏:
private void Page_Loaded(object sender, RoutedEventArgs e)
{
bool test = false;
if(IsScreenSizeLessThan7inches())
test = VisualStateManager.GoToState(this, lowerThan7State.Name, true);
else
test = VisualStateManager.GoToState(this, defaultState.Name, true);
}
我已經嘗試改變 「useTransitions」 - 參數。我已經調試並測試了「IsScreenSizeLessThan7inches()」方法。但是這種方法的結果是正確的。
GoToState()方法的返回值始終爲false,並且SplittView-Control的狀態也不會更改。
我沒有找到問題...
請幫我找到錯誤。
謝謝!
要簡單地說,你在裏面添加視覺SPLITVIEW狀態來改變其狀態。在SplitView外添加視覺狀態,它應該像魅力一樣工作。 – AVK
是的。這是解決方案!謝謝! – hias116
請發表您的答案,並將其標記爲答案,以便對其他人也有幫助。 – AVK