从wp8中的App.Resources设置App.RootFrame的背景

本文关键字:App RootFrame 背景 设置 Resources wp8 中的 | 更新日期: 2023-09-27 18:01:10

朋友,

我将RootFrameBackground分配给应用程序资源,当您显式地写下资源名称时,它会起作用,如下面的

App.RootFrame.Background = (System.Windows.Media.ImageBrush)App.Current.Resources["Theme_6"];

但如果我使用以下内容,它就不起作用:

string themeName = "Theme_6";
App.RootFrame.Background = (System.Windows.Media.ImageBrush)App.Current.Resources[themeName];

是否可以在wp8中使用第二个选项?

谢谢!

从wp8中的App.Resources设置App.RootFrame的背景

Panorama控件(我认为Pivot控件也是(在支持背景图像的后期绑定方面存在一些问题。当您对图像路径进行硬编码时,显示静态背景图像没有问题。

要"动态"分配背景图像,您应该遵循以下步骤;

  • 在关联中创建属性(MainBackGroundImage(ViewModel,它实现INotifyPropertyChanged接口(如果正在使用MVVM模式,您已经拥有此基础结构(
  • 将任何图像路径(也可以是远程URL(分配给属性
  • 在视图挂钩中,连接到ViewModel的属性更改事件和更新背景图像所在控件的布局出现:

    void viewModel_PropertyChanged(object sender,PropertyChangedEventArgs e)
    {
    if (e.PropertyName == “MainBackGroundImage”)
    {
          this.MainPanorama.UpdateLayout();
    }
    }
    

你也许可以看看我的开源WP8应用程序,我在那里实现了动态背景图像。