當我啟動應用程式時,選單上沒有選擇任何專案。我從主頁開始。如何使它的背景更改為選擇喜歡?現在只有當我重新選擇這個選單項時,它的背景顏色才會像我想要的那樣。此代碼不是我的,但我無法聯系原始開發人員。如果有人需要任何其他資訊,請發表評論。先感謝您。
public List<IPageViewModel> PageViewModels
{
get
{
if (_pageViewModels == null)
_pageViewModels = new List<IPageViewModel>();
return _pageViewModels;
}
}
public IPageViewModel CurrentPageViewModel
{
get => _currentPageViewModel;
set
{
_currentPageViewModel = value;
OnPropertyChanged("CurrentPageViewModel");
}
}
private List<MenuItem> menu;
public List<MenuItem> Menu
{
get => menu;
set
{
menu = value;
OnPropertyChanged("Menu");
}
}
private MenuItem selectedMenuItem;
public MenuItem SelectedMenuItem
{
get => selectedMenuItem;
set
{
selectedMenuItem = value;
OnPropertyChanged("SelectedMenuItem");
}
}
private RelayCommand goToItemCommand;
public RelayCommand GoToItemCommand
{
get
{
return goToItemCommand ??= new RelayCommand(obj =>
{
switch (SelectedMenuItem?.Item)
{
case "НОВОСТИ":
CurrentPageViewModel = PageViewModels[0];
break;
case "СЕРВЕРА":
CurrentPageViewModel = PageViewModels[1];
break;
case "ПАРАМЕТРЫ":
CurrentPageViewModel = PageViewModels[2];
break;
}
});
}
}
public GeneralViewModel()
{
Menu = new List<MenuItem>()
{
new MenuItem(){Item = "НОВОСТИ", IsEnabled = true},
new MenuItem(){Item = "СЕРВЕРА", IsEnabled = true},
new MenuItem(){Item = "ПАРАМЕТРЫ", IsEnabled = true}
};
PageViewModels.Add(new NewsPageViewModel());
PageViewModels.Add(new ServersPageViewModel());
PageViewModels.Add(new ParametersPageViewModel());
CurrentPageViewModel = PageViewModels[1];
StartLauncher();
}
uj5u.com熱心網友回復:
您必須SelectedMenuItem從建構式初始化該屬性。例如:
public GeneralViewModel()
{
Menu = new List<MenuItem>()
{
new MenuItem(){Item = "НОВОСТИ", IsEnabled = true},
new MenuItem(){Item = "СЕРВЕРА", IsEnabled = true},
new MenuItem(){Item = "ПАРАМЕТРЫ", IsEnabled = true}
};
// Pre-select a default menu item
SelectedMenuItem = Menu[0];
...
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/357651.html
