WPF ICommand.在UI、XP上执行
本文关键字:XP 执行 UI ICommand WPF | 更新日期: 2023-09-27 17:51:02
我在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
s而不是Click
事件。
在Windows XP下,单击此按钮不会触发AddFile(对象参数)函数。在Windows Vista/Windows 7上,它就像一种魔力。直接从代码中调用ICommand.Execute()
在XP下也可以工作。
我尝试了更新。net框架(该项目使用。net 4.0),但代码中仍然存在不足。
如何解决这个问题?
正如@ta.speot所提到的。DelegateCommand构造函数将第一个参数作为要调用的Action
您的Execute
方法将执行Func<T,>,而不是Action