コード例 #1
0
        private void Clear_Click(object sender, RoutedEventArgs e)
        {
            var btnName  = (sender as Button).Name;
            var index    = btnName.Substring(8);
            var tbRetMsg = ControlsSearchHelper.GetChildObject <TextBox>(this, "tbRetMsg" + index);

            tbRetMsg.Text = "";
        }
コード例 #2
0
 private TaskPriorityType GetTaskPriorityType()
 {
     for (int i = 0; i < 2; i++)
     {
         var radioButton = ControlsSearchHelper.GetChildObject <RadioButton>(taskPriorityType, string.Format("taskPriorityType{0}", i + 1));
         if (radioButton.IsChecked.Value)
         {
             return((TaskPriorityType)Enum.Parse(typeof(TaskPriorityType), radioButton.Content.ToString()));
         }
     }
     return(TaskPriorityType.未知);
 }
コード例 #3
0
        /// <summary>
        /// 关闭选项卡时导航栏栏目取消选中
        /// </summary>
        /// <param name="nav_name">栏目名称</param>
        public void SetNavNoChecked(string nav_name)
        {
            var objs = ControlsSearchHelper.GetChildObjects <RadioButton>(this.nav_bar, "");

            objs.ForEach(o =>
            {
                if (o.Content.ToString() == nav_name)
                {
                    o.IsChecked = false;
                }
            });
        }
コード例 #4
0
        public void SetOneNavChecked()
        {
            var objs = ControlsSearchHelper.GetChildObjects <RadioButton>(this.nav_bar, "");

            objs.ForEach(o =>
            {
                if (o.Content.ToString() == (this.tabControl.Items[this.tabControl.SelectedIndex] as TabItem).Header.ToString())
                {
                    o.IsChecked = true;
                    return;
                }
            });
        }
コード例 #5
0
        /// <summary>
        /// 其他RadioButton去掉选中
        /// </summary>
        private void SetOtherNavNoChecked(RadioButton radio)
        {
            var content = radio.Content.ToString();
            var objs    = ControlsSearchHelper.GetChildObjects <RadioButton>(this.nav_bar, "");

            objs.ForEach(o =>
            {
                if (o.Content.ToString() != content && o.IsChecked.Value)
                {
                    o.IsChecked = false;
                }
            });
        }
コード例 #6
0
ファイル: Edit.xaml.cs プロジェクト: jtzhang163/Arthur
 public Gender GetGender()
 {
     for (int i = 0; i < 3; i++)
     {
         var radioButton = ControlsSearchHelper.GetChildObject <RadioButton>(gender, string.Format("gender{0}", i));
         if (radioButton.IsChecked.Value)
         {
             var gender = radioButton.Content.ToString();
             return(gender == "男" ? Gender.Male : gender == "女" ? Gender.Female : Gender.Unknown);
         }
     }
     return(Gender.Unknown);
 }
コード例 #7
0
        private void tabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (IsChangeNavChecked)
            {
                new Thread(() =>
                {
                    Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
                                                               new Action(() =>
                    {
                        Thread.Sleep(100);
                        tabControl_SelectionChanged(sender, e);
                    }));
                }).Start();
                return;
            }
            var selectedTab = this.tabControl.SelectedItem as TabItemClose;

            if (selectedTab == null)
            {
                return;
            }

            if (selectedTab.Header.ToString() == "主界面")
            {
                objs.ForEach(o =>
                {
                    o.IsChecked = false;
                });
                return;
            }

            objs = ControlsSearchHelper.GetChildObjects <RadioButton>(this.nav_bar, "");
            objs.ForEach(o =>
            {
                if (o.Content.ToString() == selectedTab.Header.ToString())
                {
                    o.IsChecked = true;
                }
            });
        }
コード例 #8
0
        private void Scan_Click(object sender, RoutedEventArgs e)
        {
            var btnName = (sender as Button).Name;
            var index   = Convert.ToInt32(btnName.Substring(7));

            CommorViewModel scaner;

            if (index == 1)
            {
                scaner = Current.BatteryScaner;
            }
            else if (index == 2)
            {
                scaner = Current.BindTrayScaner;
            }
            else
            {
                scaner = Current.UnbindTrayScaner;
            }

            var type        = scaner.GetType();
            var scanCommand = type.GetProperty("ScanCommand").GetValue(scaner);


            new Thread(() => {
                this.Dispatcher.Invoke(new Action(() => {
                    var result = scaner.Commor.Comm(scanCommand as string, scaner.ReadTimeout);
                    if (result.IsSucceed)
                    {
                        var tbRetMsg  = ControlsSearchHelper.GetChildObject <TextBox>(this, "tbRetMsg" + index);
                        tbRetMsg.Text = result.Data.ToString();
                    }
                    else
                    {
                        this.tip.Content    = result.Msg;
                        this.tip.Visibility = Visibility.Visible;
                    }
                }));
            }).Start();
        }
コード例 #9
0
        public MainWindow()
        {
            InitializeComponent();

            if (SystemParameters.PrimaryScreenHeight < 800)
            {
                this.WindowState = WindowState.Maximized;
            }
            else
            {
                this.ResizeMode = ResizeMode.CanMinimize;
            }

            grid_mainview.Children.Add(new MainViewUC());

            this.DataContext = Current.App;
            Arthur.App.Business.Logging.AddEvent(string.Format("打开软件", ""), Arthur.App.Model.EventType.信息);

            WinSet.MainWindow = this;

            objs = ControlsSearchHelper.GetChildObjects <RadioButton>(this.nav_bar, "");

            expireTimer = new System.Threading.Timer(new TimerCallback(TimerExec.ExpireTimeExec), null, 5000, 60 * 1000);
        }
コード例 #10
0
        /// <summary>
        /// 刷新动态控件布局
        /// </summary>
        /// <param name="source"></param>
        void RefreshWith(ObservableCollection <MenuButton> source)
        {
            ObservableCollection <ButtonBase> left  = new ObservableCollection <ButtonBase>();
            ObservableCollection <ButtonBase> right = new ObservableCollection <ButtonBase>();

            if (source == null)
            {
                this.LeftControls  = left;
                this.RightControls = right;
                return;
            }

            //  Do:按类别添加到组内
            Action <IMenuIconButton> addAction = l =>
            {
                if (l.LeftRightAlignment == LeftRightAlignment.Left)
                {
                    left.Add(l as ButtonBase);
                }

                if (l.LeftRightAlignment == LeftRightAlignment.Right)
                {
                    right.Add(l as ButtonBase);
                }
            };

            //  Do:按类别转换按钮
            Func <MenuButton, IMenuIconButton> fuction = l =>
            {
                if (l.MenuButtonStyle == MenuButtonStyle.Default)
                {
                    MenuDefaultButton btn = new MenuDefaultButton();
                    btn.Content            = l.Content;
                    btn.FIcon              = l.IconFont;
                    btn.LeftRightAlignment = l.LeftRightAlignment;
                    btn.IsEnabled          = l.IsEnabled;
                    //btn.Orientation = l.Orientation;
                    btn.Click += (s, e) =>
                    {
                        this.OnMenuClicked(btn);
                    };

                    return(btn);
                }

                if (l.MenuButtonStyle == MenuButtonStyle.IconButton)
                {
                    MenuIconButton btn = new MenuIconButton();
                    btn.Content     = l.Content;
                    btn.FIcon       = l.IconFont;
                    btn.IsEnabled   = l.IsEnabled;
                    btn.Orientation = l.Orientation;

                    btn.LeftRightAlignment = l.LeftRightAlignment;

                    btn.Click += (s, e) =>
                    {
                        this.OnMenuClicked(btn);
                    };

                    return(btn);
                }

                if (l.MenuButtonStyle == MenuButtonStyle.ToggleButton)
                {
                    MenuToggleButton btn = new MenuToggleButton();
                    btn.Content     = l.Content;
                    btn.FIcon       = l.IconFont;
                    btn.IsEnabled   = l.IsEnabled;
                    btn.Orientation = l.Orientation;

                    btn.LeftRightAlignment = l.LeftRightAlignment;

                    btn.Checked += (s, e) =>
                    {
                        this.OnCheckedChanged(btn);
                    };

                    btn.Unchecked += (s, e) =>
                    {
                        this.OnCheckedChanged(btn);
                    };

                    return(btn);
                }

                if (l.MenuButtonStyle == MenuButtonStyle.MenuImageButton)
                {
                    MenuImageButton btn = new MenuImageButton();
                    btn.Content     = l.Content;
                    btn.ImageSource = l.ImageSource;
                    btn.IsEnabled   = l.IsEnabled;
                    btn.Orientation = l.Orientation;

                    btn.LeftRightAlignment = l.LeftRightAlignment;

                    btn.Click += (s, e) =>
                    {
                        this.OnMenuClicked(btn);
                    };

                    return(btn);
                }

                if (l.MenuButtonStyle == MenuButtonStyle.MenuToggleImageButton)
                {
                    MenuToggleImageButton btn = new MenuToggleImageButton();
                    btn.Content     = l.Content;
                    btn.ImageSource = l.ImageSource;
                    btn.IsEnabled   = l.IsEnabled;
                    btn.Orientation = l.Orientation;

                    btn.LeftRightAlignment = l.LeftRightAlignment;

                    btn.Checked += (s, e) =>
                    {
                        this.OnCheckedChanged(btn);
                    };

                    btn.Unchecked += (s, e) =>
                    {
                        this.OnCheckedChanged(btn);
                    };

                    return(btn);
                }

                return(null);
            };


            foreach (var item in source)
            {
                IMenuIconButton btnInstance = fuction(item);

                if (btnInstance == null)
                {
                    Debug.WriteLine("未识别按钮样式");
                    return;
                }

                addAction(btnInstance);

                if (item.MenuKey != null && !string.IsNullOrEmpty(item.MenuKey.String))
                {
                    ////  Do:注册快捷键
                    //InputGesture inputgesture = new KeyGesture(Key.O, ModifierKeys.Control);

                    RelayCommand cmd = new RelayCommand(l =>
                    {
                        if (btnInstance is IMenuToggleButton)
                        {
                            this.OnCheckedChanged(btnInstance as IMenuToggleButton);
                        }
                        else
                        {
                            this.OnMenuClicked(btnInstance);
                        }
                    });

                    InputBinding input = new InputBinding(cmd, item.MenuKey);

                    //  Do:注册到窗口级别
                    var collection = ControlsSearchHelper.GetParentObject <Window>(this, string.Empty).InputBindings;

                    collection.Add(input);
                }
            }

            this.LeftControls  = left;
            this.RightControls = right;
        }