本帖最后由 zjp1907 于 2014-08-28 01:50:33 编辑

解决方案 »

  1.   

    new一个ViewModel是新创建一个对象,当然是空的啦,除非你这个ViewModel是从别的地方传过来的,里面的值才可能不为空。又或者就是你这个ViewModel中的字段属性都有默认值……
      

  2.   


    viewModel中的字段属性值都在view中控件值
      

  3.   

    viewModel中的字段属性值都在UserControl控件中的值
      

  4.   

    我一个UserControl对应一个ViewModel,UserControl的DataContext是该ViewModel,
    请问在其它ViewModel中怎么调用这个UserControl对应的ViewModel属性值?
      

  5.   

    每一个的ViewModel 都是单例模式。
      

  6.   

    抛开 VM,假设你是在创建 usercontrol 的后期为它的 DataContext 赋值你的对象,那么你的创建这些(将来作为VM使用的)对象的宿主对象可能会处理一些交互控制业务逻辑。比如说你希望在界面上显示50群组列表,那么你的“主程序”或许首先为创建50个“群组”对象,然后放入一个“List<群组>”类型的集合中,然后创建50个“群组控件”并且加入一个 StackPanel 中显示,并且依次把各个“群组”对象赋值给各个“群组控件”的DataContext 属性。这个时候,你的“主程序”可能会给某些“群组”对象的属性赋值,或者监听某些群组的事件,这可能是你说的某种“调用”。但是群组不应该“耦合”别的什么群组。耦合是错误的。