SherryW

导航

如何在MainWindowViewModel中引用MainWindow.xaml中的Resource?

问题描述:在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的使用。

 

            

posted on 2013-09-02 19:33  SherryW  阅读(646)  评论(0编辑  收藏  举报