WPF MessageBox取消复选框选中

恩克莫尔

我刚遇到一个我无法解决自己的问题。所以希望有人能给我一些想法。

我的问题:

所以我有一个复选框,它具有对类变量的绑定:

//WPF
<CheckBox IsChecked="{Binding IsChecked}" Name="cb" />

//class
public class Mod
{
    bool _IsChecked;
    public bool IsChecked { get { return _IsChecked; } set { MainWindow.w.checkChanged(this, value); _IsChecked = value; } }
}

现在,我的目标是当我单击任何复选框时它将执行一个方法。此方法将检查不同的事物,最终如果不符合检查条件,将显示一个MessageBox,其中包含OKCancel按钮

当用户单击“取消”时,我想通过使用“对象”上的“绑定”来取消复选框的选中。

mod.IsChecked = value;

但是,由于UI在显示MessageBox之前尚未完成,因此它将在关闭MessageBox之后完成UI检查控制器(我认为在检查Binding之后)。

复选框已被单击

刚单击了Toggle复选框(3个中的第一个),但UI线程处于暂停状态,因为它等待MessageBox的InvokeEnd。


我希望我已经把问题弄清楚了。我不是线程专家,尤其是WPF / Form方面的专家。因此,希望有人能在正确的方向上帮助我。

非常感谢,Nkmol

如果我理解这项权利,我的最初想法是从复选框的Property(在ViewModel中)的设置器中调用该方法。从那里,您应该具有复选框的旧值和新值,并且可以完全控制要执行的操作(在这种情况下,弹出一个消息框)。有很多方法可以做到这一点(这是一种方法)。

边注; 对我而言,您“数据绑定”的方式似乎“不同”。为什么不在复选框的设置器中实现INotifyPropertyChanged和NotifyPropertyChanged?您现在的做法似乎违反了MVVM。希望这对您有所帮助,并祝您好运!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WPF MessageBox取消复选框选中

来自分类Dev

复选框选中的事件触发多次wpf mvvm

来自分类Dev

C#WPF取消选中复选框

来自分类Dev

取消选中Bulletdecorator WPF中的复选框

来自分类Dev

WPF行为以选中/取消选中列表项中的复选框

来自分类Dev

jQuery复选框选中和取消选中悬停

来自分类Dev

jQuery隐藏复选框选中,但不取消选中

来自分类Dev

jQuery复选框选中取消选中问题

来自分类Dev

C#清除所有文本框,然后取消选中WPF中的所有复选框

来自分类Dev

在WPF中使用Datagrid选中复选框

来自分类Dev

WPF替换原始复选框中的选中标记

来自分类Dev

复选框绑定WPF

来自分类Dev

基于MVVM中组合框选择的C#WPF数据绑定复选框

来自分类Dev

在用户界面中将复选框选择的项目设置为False-C#WPF

来自分类Dev

如何实现Jquery复选框选中全部/取消选中带有复选框的所有功能?

来自分类Dev

取消选中复选框

来自分类Dev

复选框选中和取消选中后,提交操作后显示和隐藏div

来自分类Dev

复选框选中和取消选中后,提交操作后显示和隐藏div

来自分类Dev

如何在复选框选中/取消选中事件上发送发布请求

来自分类Dev

PHP的MySQL使复选框选中

来自分类Dev

如何使复选框选中工作

来自分类Dev

选中和取消选中复选框

来自分类Dev

选中并取消选中动态复选框

来自分类Dev

取消选中“全部选中”复选框

来自分类Dev

选中和取消选中复选框

来自分类Dev

无法选中/取消选中复选框

来自分类Dev

选中/取消选中复选框jQuery

来自分类Dev

选中和取消选中复选框

来自分类Dev

选中/取消选中无复选框