wpf中mvvm框架的一点问题

wpf中用mvvm框架移植一套程序,main页面将数据源成功绑定了上去,之后用main跳转的其他页面用同样的方法却没法绑定数据源。

img


main窗口中的表格,数据等值都可以成功绑定到main窗口,用原方法绑定JHGD,以及Windowsceshi却没能绑定成功。
这是JHGD.cs:

img


JHGDViewModel.cs

img


JHGDModel.cs

img

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,将代码办了上去:

img

img

img


xaml里用的这个绑定:
ItemsSource="{Binding MainModel.Data}"
然后就能成功显示:

img