在Silverlight Nav App的所有页面上使用相同的用户控件

时间:2009-10-30 11:26:35

标签: silverlight user-controls

我的Silverlight导航应用程序中有大约20页。我有1个usercontrol,我想在所有20个页面中使用。我还需要usercontrol的状态在20个页面中看起来相同。因此,例如,如果它们位于应用程序的第1页,并且它们更改了用户控件的背景颜色,则其他19页的颜色将相同。关于如何实现这样的事情的任何想法?

1 个答案:

答案 0 :(得分:0)

如果这些页面同时处于活动状态,那么您需要拥有20个用户控件实例。仅仅因为一个控件只能在树中出现一次。

否则,您可以在全局可访问的位置存储对您的控件的引用(例如App类,ServiceLocator模式,诸如此类),并在适当时将其添加到您的页面。

或者更好的是,您只能拥有一个ViewModel类,它将表示用户控件状态(例如Brush属性),并将其设置为UserControl的所有实例的DataCOntext。

希望这有帮助。