Пожалуйста, помогите мнеПростой пользовательский контроль и шаблон MVVM: как использовать?
У меня есть
public partial class OrderControl : UserControl
{
private OrderHeader orderHeader;
public Customer selectedCustomer { get; set; }
private Customer[] allCustomers;
public User selectedManager { get; set; }
private User[] allManagers;
public OrderControl()
{
InitializeComponent();
DataContext = this;
}
...
}
И мне нужен один способ привязки к источнику:
<ComboBox Name="CustomerComboBox" SelectedItem="{Binding selectedCustomer}"/>
Является ли это лучший способ сохранить selectedCustomer собственности в OrderControl.xaml.cs или I нужно создать некоторый класс OrderViewModel с .., selectedCustomer, ... Свойства и сохранить экземпляр OrderViewModel в OrderControl.xaml.cs?
благодаря
Свойство не должно быть DependencyProperty, это нормально, если он помещает его в ViewModel, чтобы связать его таким образом с его ComboBox. Ему необходимо внедрить INotifyPropertyChanged для предоставления уведомлений. – Mark
@Mark, вы правы, ему не нужно быть DP ... обычно базовый класс ViewModel реализует INotifyPropertyChanged ... –
Но если вы назначаете viewmodel UsersControl своим собственным DataContext, тогда это прерывает привязки, сделанные в родительском элементе управления, который составляет UserControl. В частности, привязки, сделанные в собственном родительском элементе управления, затем будут разрешаться в собственной viewmodel UserControl вместо модели представления родителя, что является неожиданным и требует беспорядочных обходных решений. – Neutrino