Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.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
C# 棱镜区域覆盖_C#_Silverlight_Prism_Mef - Fatal编程技术网

C# 棱镜区域覆盖

C# 棱镜区域覆盖,c#,silverlight,prism,mef,C#,Silverlight,Prism,Mef,我有一个用棱镜制作的silverlight应用程序。我有一个顶部区域,用户可以在其中定义一些要搜索的信息,我有另一个区域,即在datagrid中显示数据的工作区区域。 我想在工作区区域的顶部添加另一个区域(类似于一个模式对话框,但我定义了一个用户控件),当用户双击datagrid时,该区域将显示所选行的当前详细信息。 最好的方法是什么 本文详细介绍了如何使用用户交互创建对话框窗口 虽然该链接引用了WPF,但我已经看到一些示例在Silverlight中使用了与ChildWindows类似的模式 以

我有一个用棱镜制作的silverlight应用程序。我有一个顶部区域,用户可以在其中定义一些要搜索的信息,我有另一个区域,即在datagrid中显示数据的工作区区域。 我想在工作区区域的顶部添加另一个区域(类似于一个模式对话框,但我定义了一个用户控件),当用户双击datagrid时,该区域将显示所选行的当前详细信息。
最好的方法是什么

本文详细介绍了如何使用用户交互创建对话框窗口

虽然该链接引用了WPF,但我已经看到一些示例在Silverlight中使用了与ChildWindows类似的模式


以下步骤对我来说足够简单

1) 为壳中的覆盖创建一个区域,该区域的可见性绑定到壳视图模型中的特性

2) 创建bool的PubSubEvent(或根据您使用的PRISM版本创建CompositePresentationEvent),以显示或隐藏覆盖区域

3) 使shell视图模型订阅事件,并根据bool值更新覆盖可见性属性


4) 鼠标双击一行发布事件并在覆盖区域中导航视图

这就是我所做的,工作区区域中的2个区域和此工作区区域的viewmodel引用事件以显示细节并显示或不显示覆盖区域。