Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF prism从shell访问视图元素_Wpf_Shell_Prism_Command - Fatal编程技术网

WPF prism从shell访问视图元素

WPF prism从shell访问视图元素,wpf,shell,prism,command,Wpf,Shell,Prism,Command,在我的应用程序中,我有一个带有一些按钮、选项卡和一些模块的shell。每个模块都有一个视图,其中包含一些元素,如datagrids、StackPanel、文本框等。它们都有一个name属性。现在,当我在shell上触发一个事件时(比如单击按钮),我希望能够使用这些元素(比如清除用户在提供的文本框中写入的所有信息)。问题是,shell看不到这些元素,也无法识别它们。有办法访问它们吗 谢谢您的建议。我建议您采用类似Stocktrader参考实现对复合命令所做的方法。基本上,CompositeComm

在我的应用程序中,我有一个带有一些按钮、选项卡和一些模块的shell。每个模块都有一个视图,其中包含一些元素,如datagrids、StackPanel、文本框等。它们都有一个name属性。现在,当我在shell上触发一个事件时(比如单击按钮),我希望能够使用这些元素(比如清除用户在提供的文本框中写入的所有信息)。问题是,shell看不到这些元素,也无法识别它们。有办法访问它们吗


谢谢您的建议。

我建议您采用类似Stocktrader参考实现对复合命令所做的方法。基本上,CompositeCommand是包含其他ICommand集合的ICommand的实现。在RI中,CompositeCommand作为静态属性公开在一个集中可用的类上

在您的情况下,您可以使用复合ClearCommand。shell的viewmodel会将其显示在shell视图中,这样您就可以将Clear按钮连接到它

然后,各个模块的viewmodels将挂接到此ClearCommand中:

GlobalCommands.ClearCommand.RegisterCommand(new DelegateCommand(x => ClearAllFields()));