WPF MVVM取消窗口关闭

2024-01-25

我是 WPF 和 MVVM 新手。我想最小化窗口而不是关闭它。换句话说,我想取消Closing窗口事件并最小化该窗口。

我应该如何以 MVVM 方式进行操作?

如果相关的话,最后我会设置ShowInTaskbar to false并使用WinForms托盘组件。


对 MVVM 的常见误解是视图中永远不可能存在代码隐藏。很显然这不是真的。

MVVM 的目标是minimize代码隐藏中的代码,但对于直接与视图本身交互的内容(例如 Windows 事件),放入一些隐藏代码是可以接受的。代码隐藏将处理取消,并可能执行最小化,或调用 ViewModel 中的命令,或其他类似的事情。

否则,您将不得不想出一个复杂的系统来处理 ViewModel 中的事件,这通过让 ViewModel 引用 View(而不是相反)来打破 MVVM 模式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WPF MVVM取消窗口关闭 的相关文章

  • 最好的 NHibernate 二级缓存提供程序是什么?

    我见过有很多这样的 NCache Velocity 等等 但我还没有找到比较它们的表格 考虑以下标准什么是最好的 容易明白 最近正在维护中 是免费的或者有足够好的免费版本 Works 我无法说出什么是最好的或最差的 但我会分享我使用 NCa
  • Interlocked 类可以安全地与 lock() 混合吗?

    当您将互锁操作与 lock 和其他更高级别的锁 混合使用时 是否可以保证原子读取 我对混合这样的锁定机制时的一般行为以及 Int32 和 Int64 之间的任何差异感兴趣 private Int64 count private object
  • GC什么时候运行?

    GC什么时候真正运行 它是在一定的时间间隔内运行还是在应用程序需要内存时运行还是什么 简短的回答 需要时 更长的答案 当分配无法兑现时 当 AppDomain 被卸载时 当 Windows 报告内存不足时 当 GC Collect 被调用时
  • 如何在WPF中裁剪图像并保存到ImageSource中?

    我是 WPF 的新学员 我有一个问题 我有一个图像 宽度 360 高度 360 在这里 我想裁剪该图像 如下所示 0 0 到 120 120 保存到第一个 ImageSource 对象 120 0 到 240 120 保存到第二个 Imag
  • 绑定未正确更新用户控件属性 MVVM

    编辑 删除旧代码 我将它放在 MainWindow xaml 上
  • 为什么我应该更喜欢单个“await Task.WhenAll”而不是多个等待?

    如果我不关心任务完成的顺序 只需要它们全部完成 我是否仍然应该使用await Task WhenAll而不是多个await 例如 是DoWork2下面是一个首选方法DoWork1 为什么 using System using System
  • 为什么我的窗口没有被垃圾收集?

    我有一个标准的 CRUD 应用程序 可以处理相当大量的数据 不同的窗口使用 Linq To SQL 访问不同的表 每个窗口本质上都有一个网格 其中的单元格绑定到我正在显示的对象 这是正在发生的事情的一个非常标准的用例 打开窗口A 关闭窗口
  • PostSharp 如何在运行时知道某个方面是否应用于方法?

    我正在实现 PostSharp 方面库 但无法找到以下问题的解决方案 假设我们有一个方面将应用于某些方法 而不会应用于其他方法 我需要某种可以在运行时使用的机制来了解某个方面是否应用于方法 具体来说 在运行时确定某些方面是否应用于由 a 给
  • 打开和关闭 WPF DataGrid 背景图像?

    我有一个 DataGrid 当它为空时 我希望显示背景图像 当填充 DataGrid 时 我希望图像消失 并在再次清除 DataGrid 时重新出现 这可以通过 XAML 或 C 实现吗 if myDataGridView Rows Cou
  • 链接 C++ 和 C++/CLI 项目 (.NET Core) 时导入错误 (E0337)

    我目前正在尝试建立一个 NET 项目 我有一个现有的 C 后台项目 我想将其显示在 Web 界面上 为此 我尝试通过以下方式将我的 C 链接到 NET 平台 CLR 类库 NET Core 并最终将其链接到ASP NET 网络界面但这是下一
  • WPF 中的图像变得模糊

    我正在使用 C 在 WPF 中开发应用程序 我将图像放入 WrapPanel 中 并在带有一个边框的网格内显示 并在按钮中使用图像 问题是我的图像控件失去了质量 我无法在这里发布我的图片 所以我只是在这里描述 I used SnapsToD
  • NServiceBus 3.2 示例问题

    我正在尝试运行 AsyncPages 的 NServiceBus 示例 看起来很简单 从 NServiceBus com 下载最新版本 执行bat文件来安装先决条件 打开解决方案 Press F5 在文本框中输入数字 当我这样做时 我遇到了
  • ReST 代理对象生成器

    第三方公司写了一套ReST服务 我已经让所有代码正常工作 但事后看来 为了消除一些跑腿工作 我认为有人可能知道一个代码生成器 它连接到 ReST 服务并计算出需要创建和生成哪些请求和响应对象这些的代码 我在谷歌上看了一下 但没有看到任何合适
  • 使用内部构造函数实例化类

    我有一个类 其构造函数被定义为内部 这意味着我无法实例化它 虽然这可能有道理 但出于调试和研究目的 我仍然愿意做一次 是否可以通过反射来做到这一点 我知道我可以访问私有 内部成员 但是我可以调用内部构造函数吗 或者 由于构造函数没有做任何重
  • .NET Windows 服务中调用 C# 的 wait 的 I/O 回调是否可以不阻塞?

    我知道在 ASP NET 中 当使用 wait 时工作线程会返回到池中 而 I O 发生在后台 这对于可扩展性非常有用 我的 Windows 服务是一个套接字服务器 它使用 Begin End 样式的异步套接字 I O 混合我的魔法 我知道
  • 可选参数“必须是编译时常量”

    我有一个类分为两个部分文件 如下所示 public partial class PersonRepository BaseRepository
  • 隐形打开的弹出窗口

    第二天就解决这个问题 要重现 请创建新的 WPF 应用程序 xaml
  • Wpf DataGrid通过DataBinding隐藏完整行

    是否有可能通过数据绑定隐藏 DataGrid 行 如果我有一个具有可见性属性的 BO 或 ViewModel 项目 是否可以声明一个绑定 以便在该属性设置为不可见时该行将被隐藏 反之亦然 应该可以通过RowStyle 像这样的东西
  • .NET 的 HttpWebResponse 是否会自动解压缩 GZiped 和 Deflated 响应?

    我正在尝试执行一个接受压缩响应的请求 var request HttpWebRequest HttpWebRequest Create requestUri request Headers Add HttpRequestHeader Acc
  • Unity 2.0 和处理 IDisposable 类型(特别是使用 PerThreadLifetimeManager)

    我知道类似的问题被问过好几次 例如 here https stackoverflow com questions 987761 how do you reconcile idisposable and ioc here https stac

随机推荐

  • 当字体不支持符号时如何将版权、商标、服务标记等插入到WPF文本框中

    我们有一个 WPF 应用程序 可以显示包含各种公司符号的文本 例如商标 注册商标 版权和服务标志 该数据库的一些字段包含标准公司符号 最初 数据标记如下 Example Corp TM or Example Plan SM 我们可以轻松地将
  • 编辑 Ionic 选项卡图标样式

    我正在开发一个 Ionic 项目 其中主要导航方法是选项卡 中心选项卡需要突出 所以我在我的 scss 中创建了一个样式 如下所示 i icon ion ios camera height inherit border radius 100
  • 将 CSV 导入 MySQL 表返回错误 #1148

    我尝试使用 DirectAdmin 导入 但在不使用 LOAD DATA 的情况下选择 CSV 时 我收到错误 第 1 行 CSV 输入中的字段计数无效 当我尝试使用 LOAD DATA 时 出现以下错误 1148 此 MySQL 版本不允
  • 将项目从 Delphi 7 迁移到 Delphi XE 有多难?

    我们公司有一个软件已经开发了10多年 所以里面有一些非常过时的东西 它仍然很实用 什么都有 但我看到 Delphi XE 上的新功能 它让我想要切换 问题是源代码本身有超过 300mb 的 pas 文件 包含组件等总共 1GB 我们使用自定
  • F# If/Then 中的推断类型

    如果我有以下功能 let myFunc x y if y 0 then 1 x 我收到错误 Program fs 58 17 error FS0001 This expression was expected to have type un
  • Powershell 连接到 VSO

    我正在尝试使用 Powershell 连接到 VSO 这是我的代码 tfsServer New Object System Uri the server is here creds System Net CredentialCache De
  • Python - calendar.timegm() 与 time.mktime()

    我似乎很难理解这个问题 有什么区别calendar timegm and time mktime 说我有一个datetime datetime如果没有附加 tzinfo 两者不应该给出相同的输出吗 它们不都给出纪元和作为参数传递的日期之间的
  • C++:固定但运行时定义长度数组的向量

    我知道我可以使用 std vector
  • 使用 Linq 从数据表中获取不同的行(多列不同)

    我试图区分多个列并从数据表中获取数据行 但出现错误 Dim query As IEnumerable Of DataRow From row As DataRow In SourceTable AsEnumerable Select row
  • C# 和元数据文件错误

    我使用 MSDN 上的教程创建了自己的小型 C 编译器 但它无法正常工作 我遇到一些错误 然后修复它们 然后我遇到新的 不同的错误 然后修复它们 等等 最新的错误真的让我很困惑 Line number 0 Error number CS00
  • CSS 覆盖规则和特殊性

    我经常对 CSS 覆盖规则感到困惑 一般来说 我意识到更具体的样式表会覆盖不太具体的样式表 并且特异性取决于指定的选择器数量 还有 important关键字 也发挥着作用 因此 这是一个简单的示例 我有一个包含两个表格单元格的表格 表格本身
  • sklearn的MLP Predict_proba函数内部是如何工作的?

    我想了解如何sklearn的 MLP 分类器 https scikit learn org stable modules generated sklearn neural network MLPClassifier html检索其结果pre
  • 将 png 图像转换为有损 avif

    我尝试压缩大约 1MB 的 png 以获得更小的图像 当我使用以下命令将图像压缩为 jpeg 时 for i in card png do convert resize 445x625 background white flatten i
  • Metro 应用程序中的 ListView 没有垂直滚动条

    我对 Windows Store 又名 Metro 应用程序 XAML 没有经验 所以也许我忽略了一些简单的东西 但根据书籍和示例 垂直滚动条是 ListView 控件的自然组成部分 除非明确禁用 否则会在出现时显示是 ListView 中
  • 获取画布中两点之间的距离

    我有画布绘图选项卡 并希望 lineWidth 基于最后两次鼠标移动坐标更新之间的距离 我将自己将距离转换为宽度 我只需要知道如何获得这些点之间的距离 我已经有了这些点的坐标 你可以用毕达哥拉斯定理来做 如果有两个点 x1 y1 和 x2
  • Python 和 Rust 之间零拷贝共享 Polars 数据帧的示例?

    我有一个Python函数 例如 def add data input df 对 input df Polars 数据框 进行一些操作 例如用新值填充某些列 我想在 Rust 函数中使用这个函数 input df 可能有几十兆字节大 所以我想
  • 使用 process.start 打开文本文件

    在计算皮尔逊相关并将结果写入文本文件后 我一直试图从系统中打开一个文本文件 但到目前为止 由于某种原因 代码没有打开任何记事本文件 我尝试打开其他文件 它们可以工作很好 但 txt 文件没有专门打开 甚至 docx 文件也使用相同的代码打开
  • 允许递归构造函数可能有什么好处(如果有)?

    在 Java 中 构造函数不能是递归的 编译时错误 递归构造函数调用 假设我们没有这个限制 要记住的事情 构造函数的返回类型为 void 由于它是一个 void 方法 因此您无法利用递归的完整功能 构造函数可以使用 this 调用自身 或任
  • FileChannel#force 和缓冲

    我现在想澄清一下 并在 FileOutputStream 和 FileChannel 之间画出一些相似之处 所以首先 似乎使用标准 Java io 写入文件的最有效方法是使用用 BufferedOutputStream 包装的 FileOu
  • WPF MVVM取消窗口关闭

    我是 WPF 和 MVVM 新手 我想最小化窗口而不是关闭它 换句话说 我想取消Closing窗口事件并最小化该窗口 我应该如何以 MVVM 方式进行操作 如果相关的话 最后我会设置ShowInTaskbar to false并使用WinF