Windows 8.1的一個德政是取消了原本的Snappped View限制,App除了FullScreen外還可以有任意的大小(只是有最小限制)。不過對於已經開發好的8.0 App,就要花時間重新調整不同視窗大小時Layout。
我的懶人改法是,除了FullScreen外一律視為Snapped。依這樣的邏輯其實只要改動一個function – LayoutAwarePage的DetermineVisualState:
1: protected virtual string DetermineVisualState(ApplicationView appView)
2: {
3: if(appView.IsFullScreen)
4: {
5: return @"FullScreen" + appView.Orientation.ToString();
6: }
7: else
8: {
9: return @"Snapped";
10: }
11: }
1. 原本參數為ApplicationViewState (編譯時有warning),改為ApplicationView
3-10. 原本view state可以直接吐回字串的部份用邏輯修正
當然呼叫端也要調整為
1: string visualState = DetermineVisualState(ApplicationView.GetForCurrentView());
沒有留言:
張貼留言