Esempio n. 1
0
        private void Tile_Click(object sender, RoutedEventArgs e)
        {
            Tile     tile = (Tile)sender;
            WorkItem item = (WorkItem)tile.Tag;

            if (WindowList.ContainsKey(item))
            {
                WindowList[item].Close += frame_Close;
                ContentControl.Content  = WindowList[item];
                return;
            }
            WorkFrame frame = new WorkFrame();

            frame.MainTitle = item.Name;
            WorkPage content = item.GetWorkPage();

            WindowList.Add(item, frame);
            MenuItem menu = new MenuItem();

            menu.Tag    = frame;
            menu.Click += Menu_Click;
            menu.SetBinding(MenuItem.HeaderProperty, new Binding {
                Source = frame, Mode = BindingMode.OneWay, Path = new PropertyPath("Content.Title")
            });
            WindowMenu.Items.Add(menu);
            frame.Close += frame_Close;
            frame.Close += (s, ee) =>
            {
                WindowList.Remove(item);
                WindowMenu.Items.Remove(menu);
                ContentControl.Content = StartMenu;
            };
            ContentControl.Content = frame;
            frame.NavigationService.NavigateTo(content);
        }
Esempio n. 2
0
 public void SwitchFrame(WorkFrame frame)
 {
     if (window == null)
         throw new InvalidOperationException("未载入窗体。");
     if (frame == null)
         throw new ArgumentNullException("frame");
     window.SwitchFrame(frame);
 }
Esempio n. 3
0
 private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
 {
     for (int i = 2; i < WindowMenu.Items.Count; i++)
     {
         MenuItem  item  = (MenuItem)WindowMenu.Items[i];
         WorkFrame frame = (WorkFrame)item.Tag;
         frame.NavigationService.NavigateTo(null);
     }
     foreach (var button in BussinessApplication.Current.Buttons)
     {
         TitleButton.Items.Remove(button);
     }
 }
Esempio n. 4
0
        private static void OnContentChange(object sender, DependencyPropertyChangedEventArgs e)
        {
            WorkFrame frame = (WorkFrame)sender;

            if (e.OldValue != null)
            {
                ((WorkPage)e.OldValue).Frame = null;
            }
            if (e.NewValue != null)
            {
                ((WorkPage)e.NewValue).Frame = (WorkFrame)sender;
                if (frame.ContentControl != null)
                {
                    frame.ContentControl.Content = e.NewValue;
                }
            }
            else
            {
                if (e.OldValue != null && frame.Close != null)
                {
                    frame.Close(frame, null);
                }
            }
        }
Esempio n. 5
0
 public void SwitchFrame(WorkFrame frame)
 {
     frame.Close += frame_Close;
     ContentControl.Content = frame;
 }
Esempio n. 6
0
 private void Tile_Click(object sender, RoutedEventArgs e)
 {
     Tile tile = (Tile)sender;
     WorkItem item = (WorkItem)tile.Tag;
     if (WindowList.ContainsKey(item))
     {
         WindowList[item].Close += frame_Close;
         ContentControl.Content = WindowList[item];
         return;
     }
     WorkFrame frame = new WorkFrame();
     frame.MainTitle = item.Name;
     WorkPage content = item.GetWorkPage();
     WindowList.Add(item, frame);
     MenuItem menu = new MenuItem();
     menu.Tag = frame;
     menu.Click += Menu_Click;
     menu.SetBinding(MenuItem.HeaderProperty, new Binding { Source = frame, Mode = BindingMode.OneWay, Path = new PropertyPath("Content.Title") });
     WindowMenu.Items.Add(menu);
     frame.Close += frame_Close;
     frame.Close += (s, ee) =>
         {
             WindowList.Remove(item);
             WindowMenu.Items.Remove(menu);
             ContentControl.Content = StartMenu;
         };
     ContentControl.Content = frame;
     frame.NavigationService.NavigateTo(content);
 }
Esempio n. 7
0
 public void SwitchFrame(WorkFrame frame)
 {
     frame.Close           += frame_Close;
     ContentControl.Content = frame;
 }
Esempio n. 8
0
 internal NavigationService(WorkFrame frame)
 {
     Frame = frame;
     History = new Stack<WorkPage>();
 }
Esempio n. 9
0
 public EditorItem(WorkFrame frame)
 {
     IsChanged   = false;
     Initialized = false;
     Frame       = frame;
 }
Esempio n. 10
0
 public EditorItem(WorkFrame frame)
 {
     IsChanged = false;
     Initialized = false;
     Frame = frame;
 }