gpt4 book ai didi

wpf - 在 "old"DataContext 中调用 RelayCommand

转载 作者:行者123 更新时间:2023-12-03 04:15:35 25 4
gpt4 key购买 nike

我在 ViewModel 中使用 RelayCommands 来摆脱代码隐藏。 RelayCommands 正在工作,但在这种情况下除外:定义 RelayCommands 的 ViewModel 随着数据上下文的更改而更改。如果在数据上下文更改后触发命令,则会在“旧” View 模型中触发该命令。在调试时,我可以看到这些属性来自旧的数据上下文。但在 View 中一切都很好,因为显示了正确 View 模型的正确数据。

那么有界命令是否有可能无法对数据上下文的更改使用react?或者可能还有其他问题吗?

这里是代码片段:

<TabControl x:Name="TestView" DataContext="{Binding Path=SelectedParentElement}" 
TabStripPlacement="Top" ItemsSource="{Binding Path=ChildElements, Mode=OneWay}"
SelectedValue="{Binding Path=SelectedChildElement, Mode=TwoWay}">
<TabControl.ContextMenu>
<ContextMenu>
<MenuItem Header="Klassifikation" Name="Klassifikation">
<MenuItem Header="Kindebene" Name="KlassisfizierendNext" Command="{Binding KlassifizierendNextCommand}"/>
</MenuItem>
</ContextMenu>
</TabControl.ContextMenu>
.......
</TabControl>

选项卡控件的数据上下文已正确更改,但更改后在旧数据上下文中调用命令。

最佳答案

找到解决方案:http://social.msdn.microsoft.com/Forums/en/wpf/thread/2cbec263-df05-4000-9077-35861fc2fa8e

但这似乎是一个错误,datacontext auf contextmenus 没有正确更改。

关于wpf - 在 "old"DataContext 中调用 RelayCommand,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4826157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com