net*_*aju 14 .net c# wpf expander
我有一个Expander
控件,其IsExpanded
属性绑定到mvvm模型中的bool.绑定工作正常,直到你不接触扩展器.单击扩展器中的箭头以展开后,绑定将停止工作.在模型中将bool ShowPreview设置为false不会折叠展开器.
<Expander Name="pExpander"
IsExpanded="{Binding Path=ShowPreview,Mode=OneWay}"
Header="Preview">
<TextBlock Text="{Binding Path=Message, Mode=OneWay}"></TextBlock>
</Expander>
Run Code Online (Sandbox Code Playgroud)
如果你删除Mode=OneWay
确实解决了这个问题?
在读取其他CTQ(对GUI的更改不影响模型)时,我没有很好的建议如何限制底层数据看到的更改.有什么区别:
myModel.MyProperty = true; // in *your* code behind
Run Code Online (Sandbox Code Playgroud)
和
myModel.MyProperty = true; // done by a binding
Run Code Online (Sandbox Code Playgroud)
在这里抓住我的IsExpanded
是OneWay
默认情况下,所以
<Style TargetType="TreeViewItem">
<Setter Property="IsExpanded" Value="{Binding Expanded}"/>
</Style>
Run Code Online (Sandbox Code Playgroud)
不按我预期的方式工作.只有你添加Mode=TwoWay
,它才有效(即项目开始关注我的Expanded
财产,并更新它),如
<Style TargetType="TreeViewItem">
<Setter Property="IsExpanded" Value="{Binding Expanded, Mode=TwoWay}"/>
</Style>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16372 次 |
最近记录: |