wpf中用mvvm框架移植一套程序,main页面将数据源成功绑定了上去,之后用main跳转的其他页面用同样的方法却没法绑定数据源。
JHGD.xaml里绑定数据源代码:
<DataGrid x:Name="DATAGRID" HorizontalAlignment="Left" Height="330" Margin="0,0,0,0" VerticalAlignment="Bottom" Width="969" ItemsSource="{Binding JHGDModel.Data}"
ps:通过打断点,我发现他打开新页面的时候,根本没走ViewModel里的连接代码,但是走了Model里的 public JHGDModel()函数,我尝试新建了一个wpf用同样的方法连接表源,却成功了。
想问一下这个和是不是main界面有没有关系
查一下没成功的是不是转换时数据源写法不对,或者引用格式不对 只显示一个错误,信息量太少,你只能自行检查这些东西
你这个写法好乱,是不是如下关系:
1.有个JHGD.xaml;
2.有个JHGDViewModel.cs类;
3.JHGD,xaml的DataContext绑定JHGDViewModel;
4,JHGD.xaml中的控件DATAGRID想绑定JHGDViewModel中的JHGDModel中的Data
如果是以上关系,做如下改动:
1.JHGDViewModel继承IPropertyChagned类,,对MainModel做属性变更通知,这个你没实现;
2.JHGDModel中的Data。PropertyChanged属性通知名称应为Data,而不是Dt,这个你写错了;
3.JHGD.xaml控件DATAGRID的绑定写为Binding=MainModel.Data;
4.补充,DataGrid绑定DataTable一般都是绑定DataTable的DefaultView
这是我新建的一个wpf,将代码办了上去: