0
A
回答
0
如果我不錯過任何東西,你的意思是移動視圖',只需在ViewModel中添加一個新的bool
var(類似isLandscape)來控制將使用哪個DataTemplate
。你可以用觸發器或其他方式來控制它。
我想你需要這個問題的更多標籤。
0
通用Windows平臺有一個AdaptiveTrigger
,它允許您指定在給定的VisualState
將在哪些條件下設置。使用樣式設置器,您可以更改頁面的佈局以適應您的需求。
WPF沒有此功能,但您可以使用VisualStateManager
與Storyboards
和SizeChanged
事件使用VisualStateManager
。
到你的窗口內容的根元素,你可以添加一個VisualStateManager
兩組:
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="ApplicationViewStates">
<VisualState x:Name="Landscape"/>
<VisualState x:Name="Portrait">
<Storyboard>
<ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty="SomeProperty"
Storyboard.TargetName="SomeElement">
<DiscreteObjectKeyFrame KeyTime="0" Value="SomeValue"/>
</ObjectAnimationUsingKeyFrames>
...
</Storyboard>
</VisualState>
現在在後臺代碼,你可以線了Window
的SizeChanged
事件:
this.SizeChanged += (s,e) =>
{
//some condition you want to use to distinguish landscape and portrait
if (Width < Height)
{
VisualStateManager.GoToState(this, "Portrait", false);
}
else
{
VisualStateManager.GoToState(this, "Landscape", false);
}
}
或者,您可以使用代碼完成所有操作,也可以使用SizeChanged
事件,但在此情況下,如果您有多個狀態,則需要首先將每個屬性重置爲默認值:
this.SizeChanged += (s,e) =>
{
//reset all changed properties to default value here
...
//some condition you want to use to distinguish landscape and portrait
if (Width < Height)
{
//set properties for portrait
}
}
相關問題
- 1. 如何在iOS中支持橫向和縱向視圖?
- 2. UIBarButtonItem支持自定義視圖的縱向和橫向尺寸?
- 3. 如何擁有一個視圖支持縱向和橫向
- 4. 在UINavigationController中支持縱向和橫向視圖的最佳實踐
- 5. 如何以橫向適應縱向圖像在縱橫比保持縱橫比
- 6. 如何使用xib文件支持縱向和橫向方向?
- 7. 維持橫向/縱向
- 8. 滾動列表視圖縱向和橫向相同的圖像
- 9. 支持iOS 7中的橫向和縱向定位7 iPad
- 10. 用戶在縱向視圖時強制加載橫向視圖
- 11. 縱向和橫向居中
- 12. 如何在一個UIView中支持橫向/縱向定位
- 13. 具有縱向/橫向視圖的UITabBarController
- 14. 定製橫向/縱向視圖
- 15. iPad應用程序是否必須支持橫向和縱向?
- 16. 如何使用phonegap構建支持縱向和橫向閃屏?
- 17. 在橫向和縱向視圖中旋轉的問題
- 18. 在jQuery Mobile中改變橫向和縱向視圖
- 19. 在android選項卡中獲取橫向和縱向視圖
- 20. 加入了橫向視圖不支持
- 21. NavigationController橫向和縱向
- 22. 縱向和橫向滑動
- 23. iPhone SDK:方向(橫向和縱向視圖)
- 24. iPad上的橫向視圖和縱向視圖之間的數據同步
- 25. 僅支持縱向方向
- 26. as3 filp位圖縱向和橫向
- 27. 排序縱向和橫向圖像
- 28. 支持ios,swift中特定視圖控制器的橫向和縱向設備方向3
- 29. 在wpf/c中混合橫向和縱向打印#
- 30. iOS中縱向和橫向視圖的不同佈局和約束?
那麼我會將及其所有孩子複製到節點? –
rukiman
佈局看起來與此類似 - http://dotneteers.net/blogs/vbandi/archive/2009/12/29/no-more-magic-strings-with-visualstatemanager-gotostate.aspx。您只需將VisualStateManager元素添加到視圖的根目錄 - 通常是主網格。 –