Я работаю над своим первым настоящим шаблоном WPF MVVM-шаблона.
В настоящее время у меня есть несколько ComboBox на различных экранах, которые связаны с классами Collection и свойствами соответствующего класса ViewModel.
У них всегда есть запись с текстом <Add>
, который на самом деле является пустым классом объектов, и я в настоящее время использую его для запуска события AddNewObject, если свойство, связанное с SelectedItem, имеет <Add>
в своем выводе ToString()
.Это кажется мне громоздким и слишком тесно связывает View с моделью View.например,
<ComboBox ItemsSource="{Binding AllObjects}" SelectedItem="{Binding SelectedObject}" />
, затем в коде ViewModel:
public SomeObjectType SelectedObject
{
get{return this.fieldSomeObjectType;}
set
{
if(null==value)
return;
if(value.ToString().Contains(@"<Add>"))
{
if(null!=this.AddNewObject)
{
this.AddNewObject;
}
}
}
}
Есть ли способ в XAML добавить эту дополнительную строку в раскрывающийся список ComboBox и связать ее с командой AddNewObject