Привет, ребята, я работаю с SL4 и MVVM-приложением. На самом деле я застрял там, где я мог бы что-то делать неправильно, поэтому вам нужна ваша помощь, вот мой сценарий
//suodo code
public class EmployeeModel
{
//code
Public List<Shifts> Employeeshifts{get;set;}
}
public class ShiftModel
{
//code
}
Viewmodel для главной страницы
public class MainVM
{
MainVM()
{
EmployeeList = DateFromSomeService;
}
Public List<Employees> EmployeeList{get;set}
Public DelegateCommand ClickBindingCommand{get;set;}
}
MainPage.xaml
<ItemsControl ItemSource={Binding EmployeeList}>
<ItemTemplate>
<DataTemplate>
<controls:EmployeeControl/>
</DataTemplate>
</ItemTemplate>
</ItemsControl>
Employeecontro.xaml
<ItemsControl ItemSource={Binding EmployeeShifts}>
<ItemTemplate>
<DataTemplate>
<controls:ShiftControl Click={Binding ClickBindingCommand}/>//here is problem this command is in mainviewmodel
</DataTemplate>
</ItemTemplate>
</ItemsControl>
MainPage.cs
this.DataContext = new MainVM();
ClickBindingCommand
определен в основной ВМ, но он связан с управлением сдвигом, а контекст данных shiftcontrol - это класс смещения, который является моим классом модели. Если я объявляю эту команду в своем классе модели смены, чем она работает, значит, если я нажимаю на элемент управления сменой, это свойство вызывается, но я не хочу этого, потому что я хочу его в своей модели основного вида, где я ошибаюсь?
Должен ли я объявить это в своем классе сменной модели, но таким образом я напрямую свяжу свою модель с моим видом?