GridViewコントロールを備えたビューページがあります。グリッド内のアイテムは、次のxamlを含むポップアップChildwindowsを使用して編集されます。
<toolkit:DataForm.EditTemplate>
<DataTemplate>
<StackPanel>
<toolkit:DataField Label="Avisar a: ">
<ComboBox ItemsSource="{Binding Path=Sucursales}"/>
</toolkit:DataField>
<toolkit:DataField Label="Mensaje:">
<TextBox Text="{Binding mensaje, Mode=TwoWay}"/>
</toolkit:DataField>
<toolkit:DataField Label="Estado: ">
<ComboBox ItemsSource="{Binding Path=EstadosMensaje}"/>
</toolkit:DataField>
</StackPanel>
</DataTemplate>
</toolkit:DataForm.EditTemplate>
</toolkit:DataForm>
このポップアップへのDataContextは、次のように親ビューからビューコンストラクターに挿入されます。
AlertaForm frm = new AlertaForm(DataContext as AlertasViewModel);
frm.Show();
//ChildWindows constructor
public AlertaForm(AlertasViewModel viewModel){
InitializeComponent();
DataContext = viewModel;
}
ご覧のとおり、ChildWindowsと親ビューは同じViewModelを共有しています。問題は、ComboBoxコントロールにデータが入力されないことです。TextBoxフィールドは正しくバインドされており、DataContextプロパティの値が表示されます。これは、DataFormがChildWindowsAlertaFormに渡されたViewModelを認識することを証明しているため混乱を招きます。明らかに私はここで何かが欠けていますが、それが何であるかを理解することはできません。ありがとう