c# – 将IsEnabled绑定到父ViewModel而不是UserControl ViewMode
发布时间:2020-12-16 01:42:14 所属栏目:百科 来源:网络整理
导读:我在silverlight中开发了一个包含多个子控件的用户控件.文本框,组合框等. 问题是,当我将UserControl包含到父视图中并将完整控件设置为IsEnabled = False时,仍然启用该特定UserControl中的子控件… 毕竟我发现了问题. 添加类似的东西意味着IsEnabled Binding
我在silverlight中开发了一个包含多个子控件的用户控件.文本框,组合框等.
问题是,当我将UserControl包含到父视图中并将完整控件设置为IsEnabled = False时,仍然启用该特定UserControl中的子控件… 毕竟我发现了问题. 添加类似的东西意味着IsEnabled Binding位于用户控件绑定中,而不是我自己在父级的datacontext中所期望的. <localControls:TeamEmployeeSelector Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" IsEnabled="{Binding CanModify}" DataContext="{Binding Confidentiality}"/> 题: 解决方法
而不是以某种方式修改绑定(例如,你可以使它依赖于其他答案中提出的其他控件名称)我将单独移动将被禁用的控件并控制DataContext将被更改的位置.例如:
<ContentControl IsEnabled="{Binding CanModify}" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2"> <localControls:TeamEmployeeSelector DataContext="{Binding Confidentiality}"/> </ContentControl> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |