using System; using System.ComponentModel; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Windows; using System.Windows.Forms; using System.Windows.Input; namespace FSI.BT.Tools { /// /// Interaction logic for MainWindow.xaml /// public partial class FrmRadialMenu : Window, INotifyPropertyChanged { public FrmRadialMenu() { InitializeComponent(); DataContext = this; _isOpenHome = true; tbversion.Text = "v" + Assembly.GetExecutingAssembly().GetName().Version.Major + "." + Assembly.GetExecutingAssembly().GetName().Version.Minor; } #region Home private bool _isOpenHome = true; public bool IsOpenHome { get { return _isOpenHome; } set { _isOpenHome = value; RaisePropertyChanged(); } } public ICommand CloseRadialMenuHome { get { return new RelayCommand(() => Visibility = Visibility.Hidden); } } public ICommand OpenRadialMenuHome { get { return new RelayCommand(() => { IsOpenHome = true; IsOpenEpl = IsOpenTools = IsOpenSie = IsOpenApps = IsOpenLinks = false; }); } } #endregion #region Epl private bool _isOpenEpl = false; public bool IsOpenEpl { get { return _isOpenEpl; } set { _isOpenEpl = value; RaisePropertyChanged(); } } public ICommand OpenRadialMenuEpl { get { return new RelayCommand(() => { IsOpenEpl = true; IsOpenHome = false; }); } } #endregion #region Tools private bool _isOpenTools = false; public bool IsOpenTools { get { return _isOpenTools; } set { _isOpenTools = value; RaisePropertyChanged(); } } public ICommand OpenRadialMenuTools { get { return new RelayCommand(() => { IsOpenTools = true; IsOpenHome = false; }); } } #endregion #region Siemens private bool _isOpenSie = false; public bool IsOpenSie { get { return _isOpenSie; } set { _isOpenSie = value; RaisePropertyChanged(); } } public ICommand OpenRadialMenuSie { get { return new RelayCommand(() => { IsOpenSie = true; IsOpenHome = false; }); } } #endregion #region Links private bool _isOpenLinks = false; public bool IsOpenLinks { get { return _isOpenLinks; } set { _isOpenLinks = value; RaisePropertyChanged(); } } public ICommand OpenRadialMenuLinks { get { return new RelayCommand(() => { IsOpenLinks = true; IsOpenPlantLinks = IsOpenHome = false; }); } } #endregion #region Anlagen Links private bool _isOpenPlantLinks = false; public bool IsOpenPlantLinks { get { return _isOpenPlantLinks; } set { _isOpenPlantLinks = value; RaisePropertyChanged(); } } public ICommand OpenRadialMenuPlantLinks { get { return new RelayCommand(() => { IsOpenPlantLinks = true; IsOpenLinks = false; }); } } #endregion #region Apps private bool _isOpenApps = false; public bool IsOpenApps { get { return _isOpenApps; } set { _isOpenApps = value; RaisePropertyChanged(); } } public ICommand OpenRadialMenuApps { get { return new RelayCommand(() => { IsOpenApps = true; IsOpenHome = false; }); } } #endregion public event PropertyChangedEventHandler PropertyChanged; void RaisePropertyChanged([CallerMemberName] string? propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } private void Window_Deactivated(object sender, EventArgs e) { Visibility = Visibility.Hidden; IsOpenHome = true; IsOpenEpl = IsOpenTools = IsOpenSie = IsOpenLinks = IsOpenApps = IsOpenPlantLinks = false; } } }