コード例 #1
0
ファイル: AdvDocumentGroup.cs プロジェクト: narekye/autobase
        public static void OnSelectedItemChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            AdvDocumentGroup       dGroup = sender as AdvDocumentGroup;
            WorkPlaceViewModelBase vm     = null;

            int tabIndex = -1;

            if (e.NewValue == null)
            {
                if (dGroup.Items.Count > 0)
                {
                    tabIndex = 0;
                }
            }
            else
            {
                foreach (var item in dGroup.Items)
                {
                    vm = item.DataContext as WorkPlaceViewModelBase;
                    if (vm != null)
                    {
                        if (vm == e.NewValue)
                        {
                            tabIndex = dGroup.Items.IndexOf(item);
                            break;
                        }
                    }
                }
            }

            if (dGroup.SelectedTabIndex != tabIndex)
            {
                dGroup.SelectedTabIndex = tabIndex;
            }
        }
コード例 #2
0
ファイル: AdvDocumentGroup.cs プロジェクト: narekye/autobase
        void AdvDocumentGroup_SelectedItemChanged(object sender, DevExpress.Xpf.Docking.Base.SelectedItemChangedEventArgs e)
        {
            WorkPlaceViewModelBase vm = null;

            if (this.SelectedTabIndex >= 0)
            {
                BaseLayoutItem item = this.Items[this.SelectedTabIndex];
                vm = item.DataContext as WorkPlaceViewModelBase;
            }

            if (SelectedItem != vm)
            {
                SelectedItem = vm;
            }
        }
コード例 #3
0
        private void DocManager_OnDockItemClosing(object sender, ItemCancelEventArgs e)
        {
            var layout = sender as DevExpress.Xpf.Docking.DockLayoutManager;

            if (layout == null || layout.ActiveDockItem == null)
            {
                return;
            }
            var uniqueId = layout.ActiveDockItem.Caption;
            var context  = layout.DataContext as MainViewModel;

            if (context == null)
            {
                return;
            }

            if (context.WorkPlaceList.Any(x => x.DisplayName.Equals(uniqueId)))
            {
                WorkPlaceViewModelBase configPanel = context.WorkPlaceList.First(x => x.DisplayName.Equals(uniqueId));
                configPanel.Close();
            }
        }