我是 MVVM/WPF 的新手,经过几个小时的研究,没有为我的项目找到任何真正有用/有效的答案,我决定试一试并尝试在这里提问。
我想从我的列表框中选择一个项目,它使用一个列表作为一个项目源。
相关视图模型:
public class FavoriteStructureVm : INotifyPropertyChanged
{
#region
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
if (this.PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
#endregion
public ObservableCollection<FavoriteDataVm> Favorites { get; set; }
public int SelectedIndex { get; set; }
private FavoriteDataVm _selectedItem;
public FavoriteDataVm SelectedItem
{
set
{
_selectedItem = value;
var item = (FavoriteDataVm)_selectedItem;
if (item.Type == FavoriteDataType.Add)
{
SelectedIndex = 1;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
ListBox 默认包含几个项目,最后一个始终是 type 之一Add,如果选择它,可能会添加一个新项目并默认选择它,或者如果没有添加新项目,则选择先前选择的项目。对于简单性,无论是否添加新项目,所选项目都将为 …