代码之家  ›  专栏  ›  技术社区  ›  Edward Tanguay

如何在代码中将动态imagebrush资源分配给stackpanel的背景?

  •  1
  • Edward Tanguay  · 技术社区  · 16 年前

    我目前定义了如下用户控件的背景:

    <UserControl.Background>
        <ImageBrush ImageSource="{DynamicResource LeftMenuBackgroundImage}" />
    </UserControl.Background>
    

    如何将其移动到代码隐藏,例如:

    伪代码:

    StackPanel sp = new StackPanel();
    sp.Background = new ImageBrush(DynamicResource.GetResourceName("LeftMenuBackgroundImage"));
    
    1 回复  |  直到 16 年前
        1
  •  2
  •   Edward Tanguay    16 年前

    请允许我回答这个问题,让它像这样工作:

    代码:

    StackPanel sp = new StackPanel();
    sp.SetResourceReference(StackPanel.BackgroundProperty, "LeftMenuBackgroundImageBrush");
    

    在资源方面:

    <ImageBrush x:Key="LeftMenuBackgroundImageBrush" 
        ImageSource="{DynamicResource LeftMenuBackgroundImage}"/>
    
    <ImageSource x:Key="LeftMenuBackgroundImage">Images/LeftMenuBackground.jpg</ImageSource>
    
    推荐文章