如何使用MVVM灯设置焦点

时间:2011-05-17 11:19:13

标签: .net silverlight mvvm focus mvvm-light

我使用Silverlight 4和MVVM灯。 假设我有一个带有两个不同数据网格的MainView。如果我从任何数据网格中选择一行(SelectedItem),我可以打开一个灯箱或另一个MainView2。关闭灯箱或从MainView2导航回MainView时,我希望MainView将焦点放在SelectedItem及其网格上。

我能想到的唯一方法是在视图或视图模型之间发送消息以设置焦点。

还有其他想法吗?

提前致谢, Kruvi

1 个答案:

答案 0 :(得分:0)

我没有一个现成的例子来告诉你。可能是您可以使用消息来发送消息说儿童视图已关闭。并且在父母中将焦点设置为您想要的任何控件。或者,您也可以从子控件触发一个可以由父级订阅的事件。

我个人喜欢消息传递方法,因为它使解决方案解耦。有一个事件意味着父项会与孩子有点耦合,如果它非常大,可能会导致应用程序的可伸缩性和可维护性出现问题。

希望这有帮助。