zxc9089 发表于 2017-9-12 11:24:38

WPF中 用MVVM实现FlexGrid数据及命令绑定异常

WPF中 用MVVM实现FlexGrid数据及命令时, 在 .net framwork 4.0 环境下 切换 Window 的 DataContext 绑定时 FlexGrid 中的 ContextMenu中的Command绑定未更新调用为新ViewModel 实例中的Command。 而 .net framwork 4.5 环境下没问题,

由于客户方需要支持XP系统 .net framwork 4.5 无法再xp系统下安装,请问有没有什么方法解决这个问题?


demo如下:


注:.net framwork 4.0 环境 为只安装.net framwork 4.0 版本未安装其以上环境的操作系统





JeffryLI 发表于 2017-9-12 14:02:49

您好,demo收到,这个验证时间可能比较长,我这边需要配置相关的环境,有结果,我即刻回复您结果。

zxc9089 发表于 2017-9-12 14:23:00

好的。谢谢:handshake

JeffryLI 发表于 2017-9-12 14:35:57

zxc9089 发表于 2017-9-12 14:23
好的。谢谢

不客气。

JeffryLI 发表于 2017-9-13 16:36:03

zxc9089 发表于 2017-9-12 14:23
好的。谢谢

您好,初步判断需要您确定您项目的galasoft.mvvmlight框架是否支持.netFrameWork4,先排除不支持的原因。

zxc9089 发表于 2017-9-14 11:07:35

是支持的,问题原因找到了, 因为ContextMenu的结构树和Window貌似不在同一个树结构下,所以绑定无法更新提示。
解决方案是绑定的方式改为
Command = {Binding Path=PlacementTarget.DataContext.RemoveCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}即可

JeffryLI 发表于 2017-9-14 11:09:21

zxc9089 发表于 2017-9-14 11:07
是支持的,问题原因找到了, 因为ContextMenu的结构树和Window貌似不在同一个树结构下,所以绑定无法更新提 ...

学习了:hjyzw:
页: [1]
查看完整版本: WPF中 用MVVM实现FlexGrid数据及命令绑定异常