在Silverlight导航应用程序的所有页面上使用相同的用户控件

在Silverlight导航应用程序的所有页面上使用相同的用户控件,silverlight,user-controls,Silverlight,User Controls,我的Silverlight导航应用程序中有大约20个页面。我有一个usercontrol,我想在所有20页中使用它。我还需要usercontrol的状态在20个页面上看起来相同。例如,如果他们在应用程序的第1页,并且他们更改了usercontrol的背景颜色,那么其他19页的背景颜色将是相同的。关于如何实现这样的功能有什么想法吗?如果这些页面同时都处于活动状态,那么您需要有20个用户控件实例。仅仅因为一个控件在树中只能出现一次 否则,您可以将对控件的引用存储在全局可访问的位置(例如应用程序类、S

我的Silverlight导航应用程序中有大约20个页面。我有一个usercontrol,我想在所有20页中使用它。我还需要usercontrol的状态在20个页面上看起来相同。例如,如果他们在应用程序的第1页,并且他们更改了usercontrol的背景颜色,那么其他19页的背景颜色将是相同的。关于如何实现这样的功能有什么想法吗?

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

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

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

希望这有帮助