在我的视图模型和模型中,我有一个方法,签名为
我想要的是,不创建每个模型属性的只读状态返回属性,而是将
这是我设想的语法:
虽然有很多使用
根据我的研究,似乎从
非常感谢您的帮助。
bool IsPropertyReadOnly(string propertyName)
。该方法确定当前登录的用户是否可以编辑属性值。少数用户将能够编辑属性值,而大多数其他用户将只能读取。我想要的是,不创建每个模型属性的只读状态返回属性,而是将
IsPropertyReadOny
的结果绑定到TextBox.IsReadOnly
属性。这是我设想的语法:
<TextBox Text="{Binding Address, Mode=TwoWay}"
IsReadOnly="{Binding MethodName=IsPropertyReadOnly MethodParameter=Address}"
/>
DataContext
包含了视图模型,所以基本上我需要将 IsReadOnly
绑定到调用 ((Class)this.DataContext).IsPropertyReadOnly("Address")
的结果。虽然有很多使用
ObjectDataProvider
的文档,但是对象数据提供程序会创建一个新的对象实例,这不是我想要的。此外,要使用现有实例,我必须在代码后台进行赋值。同样,这也不是我想做的事情。根据我的研究,似乎从
Binding
或 MarkupExtension
继承的解决方案更适合我的需求。非常感谢您的帮助。