我们说我创建了一个名为Page1.xaml的页面。 现在我有Page1.xaml和Page1.xaml.cs背后的代码。
很明显使用"这个"引用Page1.xaml.cs中的Page1实例。但是,如果我有一个Commond.cs文件来存储我的命令,我想访问此文件中的控件怎么办?我怎样才能引用Page1实例?感谢。
答案 0 :(得分:1)
当你走出Page1.xaml时,你就超出了范围,因此在Commond.cs中访问内容的唯一方法是在一个可以由两个cs文件共享的类中实现所需的代码
答案 1 :(得分:-1)
我想你创建独立的Command.cs的想法是把所有的action /命令放在一个单独的类中。这看起来很不错。所以基本上你可以创建一个命令库,在那里你可以注册所有的命令。
让我们看一个例子:
public static class AppCommandRepository {
public static ICommand YourCommand { get; private set; }
// You can also register other command as well.
internal static void Initialize()
{
YourCommand = new YourCommand();
}
}
现在在xaml
<Button Command="Commands:AppCommandRepository.YourCommand" CommandParameter="{Binding}" /> !--Here commands is a namespace reference in xaml which is pointing to command repo.
在YourCommand.cs中实现ICommand
接口。确保在重载的execute方法中传递了Page1类的参数。
像这样:
void ICommand.Execute(Page1 parameter){}
现在,当您从Page1文件传递commandParamter时,当用户点击按钮单击事件时,Page1引用将作为execute方法的参数。还要确保将命令存储库初始化为应用程序的入口点。我想你提出的问题要广泛得多,而且可以有多种实现方式。 希望这对你有用。