12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- using System;
- using Avalonia.Controls;
- using ReactiveUI;
- namespace ControlCatalog.ViewModels
- {
- public class SplitViewPageViewModel : ReactiveObject
- {
- private bool _isLeft = true;
- private int _displayMode = 3; //CompactOverlay
- public bool IsLeft
- {
- get => _isLeft;
- set
- {
- this.RaiseAndSetIfChanged(ref _isLeft, value);
- this.RaisePropertyChanged(nameof(PanePlacement));
- }
- }
-
- public int DisplayMode
- {
- get => _displayMode;
- set
- {
- this.RaiseAndSetIfChanged(ref _displayMode, value);
- this.RaisePropertyChanged(nameof(CurrentDisplayMode));
- }
- }
- public SplitViewPanePlacement PanePlacement => _isLeft ? SplitViewPanePlacement.Left : SplitViewPanePlacement.Right;
-
- public SplitViewDisplayMode CurrentDisplayMode
- {
- get
- {
- if (Enum.IsDefined(typeof(SplitViewDisplayMode), _displayMode))
- {
- return (SplitViewDisplayMode)_displayMode;
- }
- return SplitViewDisplayMode.CompactOverlay;
- }
- }
- }
- }
|