在双击行时加载视图 - 绑定工作,点击时触发事件,但如何实际弹出视图?

时间:2012-05-24 09:52:01

标签: silverlight mvvm view event-handling telerik

我在Silverlight中有一个视图,其中包含一个包含多个列的telerik:RadGridView

我已将其连线,以便当用户双击其中一列时,会触发一个事件。但是,我不知道在事件处理程序中放什么。

        private void RowClicked()
        {
          //What goes here?
        }

我想做的就是在当前视图上加载弹出视图,并使用关闭按钮,以便用户可以返回到上一个视图。一个简单的想法肯定会在任何地方完成十亿次,但我无法弄清楚或在任何地方找到这样的例子。

有人可以帮忙吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以将上一个视图设置为“RowClicked()”方法的输入参数。您将在当前方法中引用先前的视图。您可以通过命令使用它(将命令和命令参数绑定到某个操作/事件)。

我还有一个想法(如果你有很多观点):你可以创建一个导航服务。它是一个包含事件和方法的接口。您应该使用事件进行导航和方法 - 用于发送所需的数据。每个人都应该实现这个界面。通过某些操作(例如:按钮单击)将在视图下引发所需事件。至于事件:你可以创建一个自定义事件处理程序,在那里你将设置一个发送者实例和所需的参数。您应该创建一个导航管理器,在那里您应该为选定的视图创建一个属性并订阅每个人的事件。如果用户想要导航到另一个视图,他将执行一些操作,系统将引发一个事件。您可以为创建的视图创建自定义容器。您可以使用此容器来获取所需视图的创建实例。如您所知,为系统创建新实例非常重要:需要一些时间和系统资源。将很容易获得创建的视图实例而不是创建新的视图。要设置默认数据或刷新绑定,您可以使用自定义方法,将其中的承包商添加到导航界面。

这是一个简单的想法,我在一个项目中使用过。至于其他样本:你可以在互联网上找到另一个导航框架和自定义类。但是,创建自己的系统的过程将使您的工作体验更上一层楼。