Silverlight数据表+;儿童窗口&x2B;MVVM:ComboBox';s数据字段不填充
我有一个带有GridView控件的视图页面。使用带有以下xaml的弹出窗口编辑网格中的项目:Silverlight数据表+;儿童窗口&x2B;MVVM:ComboBox';s数据字段不填充,mvvm,silverlight-5.0,Mvvm,Silverlight 5.0,我有一个带有GridView控件的视图页面。使用带有以下xaml的弹出窗口编辑网格中的项目: <toolkit:DataForm.EditTemplate> <DataTemplate> <StackPanel> <toolkit:DataField Label="Avisar a: ">
<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>
如您所见,子窗口和父视图共享相同的ViewModel。
问题是ComboBox控件没有填充。TextBox字段绑定正确,它们显示DataContext属性中的值,这令人困惑,因为这证明DataForm可以识别传递给ChildWindows AlertaForm的ViewModel。
很明显,我在这里遗漏了一些东西,但我不知道是什么。
谢谢
我最终把用户控件和数据表单一起扔掉了
使用常用控件粘贴在儿童窗口中。看来数据形式对我们来说并不甜蜜
复杂场景
AlertaForm frm = new AlertaForm(DataContext as AlertasViewModel);
frm.Show();
//ChildWindows constructor
public AlertaForm(AlertasViewModel viewModel){
InitializeComponent();
DataContext = viewModel;
}