2012-08-13 5 views
1

하나의 리소스 항목을 한 요소에만 동시에 사용할 수 있습니까? 예를 들어 :WPF 하나의 요소에 대해 하나의 리소스가 필요합니까?

[XAML]

<Window.Resources> 
    <Image x:Key="DockImage" Source="ico/pin.gif"/> 
    <Image x:Key="UndockImage" Source="ico/pinHorizontal.gif"/> 
</Window.Resources> 

및 버튼 : 런타임에 UndockImage에

<Button Width="26" Name="solutionButton" Click="eventname"> 
     <DynamicResource ResourceKey="DockImage"/> 
</Button> 
<Button Width="26" Name="soundButton" Click="eventname2"> 
     <DynamicResource ResourceKey="DockImage"/> 
</Button> 

그들의 이미지 변화하지만, 이미지 만이 버튼 중 하나를 보여 주었다된다. DockImage와 UndockImage 모두에 이미지 키를 곱할 수 있지만 2 배 더 많은 메모리가 필요하다고 가정합니다. 하나의 리소스 키를 한 객체에 동시에 사용할 수 있습니까?

답변

1

UIElement에서 파생되는 것은 한 번에 한 곳에서만 표시 할 수 있습니다. 이미지를 표시하는 데 사용되는 컨트롤 인 Image 리소스를 직접 정의해서는 안됩니다. 대신, 메모리에 이미지를 나타내는 BitmapImage과 같은 일부 ImageSource 유도 클래스를 사용하십시오.

<Window.Resources> 
    <BitmapImage x:Key="DockImage" UriSource="ico/pin.gif"/> 
    <BitmapImage x:Key="UndockImage" UriSource="ico/pinHorizontal.gif"/> 
</Window.Resources> 

<Button Width="26" Name="solutionButton" Click="eventname"> 
    <Image Source="{StaticResource DockImage}"/> 
</Button> 
<Button Width="26" Name="soundButton" Click="eventname2"> 
    <Image Source="{StaticResource DockImage}"/> 
</Button> 
관련 문제