ScreenBase
於 2020年4月24日 (五) 23:02 由 Notealot(對話 | 貢獻) 所做的修訂 (已保护“ScreenBase”([编辑=仅允许管理员](无限期)[移动=仅允许管理员](无限期)))
訪問源文檔
返回目錄
你可以通過Screen組織和實例化你的 ViewModels 和 Movies。
為了避免一些問題,請在創建Screen時使用以下模板:
public class MyExampleScreen : ScreenBase { private MyExampleVM _dataSource; private GauntletLayer _gauntletLayer; private GauntletMovie _movie; protected override void OnInitialize() { base.OnInitialize(); _dataSource = new MyExampleVM(); _gauntletLayer = new GauntletLayer(100) { IsFocusLayer = true }; AddLayer(_gauntletLayer); _gauntletLayer.InputRestrictions.SetInputRestrictions(); _movie = _gauntletLayer.LoadMovie("MyExampleMovie", _dataSource); } protected override void OnActivate() { base.OnActivate(); ScreenManager.TrySetFocus(_gauntletLayer); } protected override void OnDeactivate() { base.OnDeactivate(); _gauntletLayer.IsFocusLayer = false; ScreenManager.TryLoseFocus(_gauntletLayer); } protected override void OnFinalize() { base.OnFinalize(); RemoveLayer(_gauntletLayer); _dataSource = null; _gauntletLayer = null; } }
壓入你的 Screen
如果要將你的 Screen 壓入 Screen 棧,你可以使用如下代碼:
ScreenManager.PushScreen(ViewCreatorManager.CreateScreenView<MyExampleScreen>());