WPF: Can use StaticResource only once

后端 未结 1 769
野趣味
野趣味 2020-12-01 22:26

I have a Static resource defined in my WPF Windows XAML:


    

        
相关标签:
1条回答
  • 2020-12-01 22:57

    By default, XAML resources are shared, which means there is only one instance that is reused as often as it is referenced in XAML.

    However, an Image control (as any other UI element) can only have one parent control, so can't be shared.

    You can set the x:Shared attribute to false:

    <Image x:Key="MyImage" x:Shared="false" Source="../Icons/img.png" Width="16" Height="16"/>
    

    You typically don't use UI elements as resources. An alternative would be a BitmapImage resource like this:

    <Window.Resources>
        <BitmapImage x:Key="MyImage" UriSource="../Icons/img.png"/>
    </Window.Resources>
    
    <Button>
        <Image Source="{StaticResource MyImage}" Width="16" Height="16"/>
    </Button>
    
    0 讨论(0)
提交回复
热议问题