gpt4 book ai didi

c# - WPF ICommand.Execute on UI, XP

转载 作者:行者123 更新时间:2023-11-30 18:46:54 26 4
gpt4 key购买 nike

我的 WPF 应用程序的 Window 中有一个 UserControl

    <StackPanel Orientation="Horizontal" Margin="5">
<Button Command="{Binding AddFileCommand}" />
</StackPanel>

在模型中,我声明并初始化了一个 AddFileCommand 变量:

public ICommand AddFileCommand { get; set; }

public XXXModel()
{
AddFileCommand = new DelegateCommand(o => true, AddFile);
}

最好的解决方案是使用 ICommand 而不是 Click 事件。

在 Windows XP 下,单击此按钮不会触发 AddFile(对象参数)函数。在 Windows Vista/Windows 7 上,它就像一个魅力。直接从代码调用 ICommand.Execute() 也适用于 XP。

我尝试更新.NET框架(项目使用.NET 4.0),但仍然缺少代码。

我该如何解决这个问题?

最佳答案

如@ta.speot.is 所述,DelegateCommand构造函数将第一个参数作为要调用的 Action ,第二个参数是 Func 引用 CanExecute()。

您的Execute 方法将执行Func ,而不是Action 。它不能在一个操作系统上运行,也不能在另一个操作系统上运行。

关于c# - WPF ICommand.Execute on UI, XP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14211591/

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