问题描述:在MainWindow.xaml的Window.Resource中定义了一个资源,如下:
<xctk:Wizard x:Key="_wizard" FinishButtonClosesWindow="True">
......
</xctk:Wizard>
现在要在MainWindowViewModel中引用"_wizard",怎么办呢?
也许有人会说,把MainWindow实例化,
MainWindow mainWindow=new MainWindow();
mainWindow.Resources["_wizard"]。。;
这样做可以引用,但代价太大,因为这样每次都要对MainWindow实例化,每次产生不同的对象,虽然资源是不会改变的。那该怎么办呢?
可以这样做:把自己定义的资源写到app.xaml中去,然后调用,如下:
<Application.Resources>
<ResourceDictionary>
<xctk:Wizard x:Key="_wizard">
........
</xctk:Wizard x:Key="_wizard">
</ResourceDictionary>
</Application.Resources>
在 MainWindowViewModel中如何引用呢?
Application.Current.Resources["_wizard"]...;
这样就实现了对资源的引用,注意app.xaml的使用。