示例#1
0
文件: MainVM.cs 项目: t9mike/ADK
        private void Map_SelectedObjectChanged(CelestialObject body)
        {
            if (body != null)
            {
                SelectedObjectName = body.Names.First();

                if (!SelectedObjectsMenuItems.Any())
                {
                    SelectedObjectsMenuItems.Add(new MenuItemVM()
                    {
                        Header  = "Clear all",
                        Command = ClearObjectsHistoryCommand
                    });
                    SelectedObjectsMenuItems.Add(null);
                }

                var existingItem = SelectedObjectsMenuItems.FirstOrDefault(i => body.Equals(i?.CommandParameter));
                if (existingItem != null)
                {
                    SelectedObjectsMenuItems.Remove(existingItem);
                }

                SelectedObjectsMenuItems.Insert(2, new MenuItemVM()
                {
                    Command          = CenterOnObjectCommand,
                    CommandParameter = body,
                    Header           = SelectedObjectName
                });

                // 10 items of history + "clear all" + separator
                if (SelectedObjectsMenuItems.Count > 13)
                {
                    SelectedObjectsMenuItems.RemoveAt(0);
                }
            }
            else
            {
                SelectedObjectName = "<No object>";
            }

            NotifyPropertyChanged(nameof(SelectedObjectName));
        }
示例#2
0
文件: MainVM.cs 项目: t9mike/ADK
 private void ClearObjectsHistory()
 {
     SelectedObjectsMenuItems.Clear();
 }