public AbsoluteModeEditor() { this.Content = new StackLayout { HorizontalContentAlignment = HorizontalAlignment.Stretch, Items = { new StackLayoutItem { Expand = true, Control = new Group { Text = "Display", Content = displayAreaEditor = new DisplayAreaEditor { Unit = "px" } } }, new StackLayoutItem { Expand = true, Control = new Group { Text = "Tablet", Content = tabletAreaEditor = new TabletAreaEditor { InvalidBackgroundError = "No tablet detected.", Unit = "mm" } } } } }; displayAreaEditor.AreaBinding.Bind(SettingsBinding.Child(c => c.Display)); displayAreaEditor.LockToUsableAreaBinding.Bind(App.Current, c => c.Settings.LockUsableAreaDisplay); tabletAreaEditor.AreaBinding.Bind(SettingsBinding.Child(c => c.Tablet)); tabletAreaEditor.LockToUsableAreaBinding.Bind(App.Current, c => c.Settings.LockUsableAreaTablet); tabletAreaEditor.LockAspectRatioBinding.Bind(SettingsBinding.Child(c => c.LockAspectRatio)); tabletAreaEditor.AreaClippingBinding.Bind(SettingsBinding.Child(c => c.EnableClipping)); tabletAreaEditor.IgnoreOutsideAreaBinding.Bind(SettingsBinding.Child(c => c.EnableAreaLimiting)); displayWidth = SettingsBinding.Child(c => c.Display.Width); displayHeight = SettingsBinding.Child(c => c.Display.Height); tabletWidth = SettingsBinding.Child(c => c.Tablet.Width); tabletHeight = SettingsBinding.Child(c => c.Tablet.Height); tabletWidth.DataValueChanged += HandleTabletAreaConstraint; tabletHeight.DataValueChanged += HandleTabletAreaConstraint; displayWidth.DataValueChanged += HandleDisplayAreaConstraint; displayHeight.DataValueChanged += HandleDisplayAreaConstraint; tabletAreaEditor.LockAspectRatioChanged += HookAspectRatioLock; HookAspectRatioLock(tabletAreaEditor, EventArgs.Empty); }
public AbsoluteModeEditor() { this.Content = new StackLayout { HorizontalContentAlignment = HorizontalAlignment.Stretch, Items = { new StackLayoutItem { Expand = true, Control = new Group { Text = "Display", Content = displayAreaEditor = new DisplayAreaEditor { Unit = "px" } } }, new StackLayoutItem { Expand = true, Control = new Group { Text = "Tablet", Content = tabletAreaEditor = new TabletAreaEditor { InvalidBackgroundError = "No tablet detected.", Unit = "mm" } } } } }; displayAreaEditor.AreaWidthBinding.BindDataContext <App>(c => c.Settings.DisplayWidth); displayAreaEditor.AreaHeightBinding.BindDataContext <App>(c => c.Settings.DisplayHeight); displayAreaEditor.AreaXOffsetBinding.BindDataContext <App>(c => c.Settings.DisplayX); displayAreaEditor.AreaYOffsetBinding.BindDataContext <App>(c => c.Settings.DisplayY); displayAreaEditor.LockToUsableAreaBinding.BindDataContext <App>(c => c.Settings.LockUsableAreaDisplay); tabletAreaEditor.AreaWidthBinding.BindDataContext <App>(c => c.Settings.TabletWidth); tabletAreaEditor.AreaHeightBinding.BindDataContext <App>(c => c.Settings.TabletHeight); tabletAreaEditor.AreaXOffsetBinding.BindDataContext <App>(c => c.Settings.TabletX); tabletAreaEditor.AreaYOffsetBinding.BindDataContext <App>(c => c.Settings.TabletY); tabletAreaEditor.AreaRotationBinding.BindDataContext <App>(c => c.Settings.TabletRotation); tabletAreaEditor.LockToUsableAreaBinding.BindDataContext <App>(c => c.Settings.LockUsableAreaTablet); tabletAreaEditor.LockAspectRatioBinding.BindDataContext <App>(c => c.Settings.LockAspectRatio); tabletAreaEditor.AreaClippingBinding.BindDataContext <App>(c => c.Settings.EnableClipping); tabletAreaEditor.IgnoreOutsideAreaBinding.BindDataContext <App>(c => c.Settings.EnableAreaLimiting); }