开发过程中的小问题总结
1DataGrid的Header里面给Checkbox绑定IsEnabled,绑不上去.
原因:在DataGrid直接{Binding Enabled}这么写,CM默认是去找DataGrid,所以找不到,改成
IsEnabled="{Binding DataContext.Enabled,RelativeSource={RelativeSource AncestorType={x:Type Window}},Mode=TwoWay}"
指向WIndow就可以找到了
<DataGridTemplateColumn.Header>
                            <CheckBox cal:Action.Target="{Binding ElementName=List}" 
                                      IsEnabled="{Binding Enabled}"  绑定IsEnabled
                                      cal:Message.Attach="[Event Checked]=[Action SelectAll];[Event Unchecked]=[Action UnselectAll]"/>
                        </DataGridTemplateColumn.Header>
2由A页面跳转到B页面,再由B页面返回一个值
解决方法:可以定义一个事件
A页面
public void Search()
        {
            WindowManager window = new WindowManager();
            BViewModel search = new BViewModel(itle, false);
            search.Get += new EventHandler(SearchGuid);//注册事件
            window.ShowDialog(search);//打开窗体
        }
        private void SearchGuid(object sender, EventArgs e)
        {
            得到传过来的值 = ((B) sender).Strmodule;
        }
B页面
public void 触发这个事件()
        {
                    if (GetDepartGuid != null)
                    {
                        Get(this, EventArgs.Empty);
                    }
            }
        }
定义事件
public event EventHandler Get;
 相关文章
                            相关文章