gpt4 book ai didi

c# - WPF MVVM 防止在某些情况下绑定(bind) SelectedValue 以更改值

转载 作者:太空宇宙 更新时间:2023-11-03 22:00:06 25 4
gpt4 key购买 nike

我有一个带有 SelectedDocument 属性和 Documents 属性的 View 模型。

Ui 有一个自定义的 ListView 控件,其中 ItemsSource 绑定(bind)到 Documents,SelectedValue 绑定(bind)到 View 模型上的 SelectedDocument。

现在,在某些情况下,在所选文档的 setter 中的 View 模型中,我需要提出一个对话服务消息来询问一些事情,并且在取消的情况下,我需要防止更改 SelectedDocument。

我可以这样做,但是当我不更改 View 模型中的属性值时,我会导致 UI 和 ViewModel 不同步。

它可能有一些事情要做,因为当双向绑定(bind)更新源时会调用属性的 setter 。

如何解决?

谢谢

最佳答案

您必须撤消更改,但您不能直接在 Setter 中执行此操作,而必须使用 Dispatcher,如所述 here .

关于在 MVVM 中使用 Dispatcher,有各种关于为此使用 IDispatcher 接口(interface)的帖子,可以找到 hereherehere (查看 MEFedMVVM.Services.Contracts 命名空间下)。您必须看看其中哪一个适合您。

关于c# - WPF MVVM 防止在某些情况下绑定(bind) SelectedValue 以更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10542605/

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