2013-10-07 2 views
1

이 경우 다른 스레드가 있다는 것을 알고 있습니다 만 내 경우에는 조금 다릅니다. 너무 공유 그러나 이것은에있는 ResourceDictionary의 원인을 작동하지 않았다 :마지막 MenuItem 만 아이콘을 얻습니다.

은 내가 X를 시도

<Style TargetType="{x:Type MenuItem}"> 

안에이 사용

<MultiTrigger> 
     <MultiTrigger.Conditions> 
     <Condition Property="IsCheckable" 
       Value="true" /> 
     <Condition Property="IsChecked" 
       Value="true" /> 
     <Condition Property="Role" 
       Value="SubmenuItem" /> 
     </MultiTrigger.Conditions> 
     <Setter Property="Icon"> 
     <Setter.Value> 
      <Image Margin="1,0" 
       Width="16" 
       Source="pack://application:,,,/MyResourceAssembly; 
         component/Resources/Connect_24.png"/> 
     </Setter.Value> 
     </Setter> 
    </MultiTrigger> 

별도의 리소스 어셈블리에서 아이콘을 사용하려면 ResourceDictionary

<ResourceDictionary.MergedDictionaries> 
     <ResourceDictionary Source="pack://application:,,,/MyResourceAssembly;component/Resources.xaml" /> 

     <ResourceDictionary> 
     <Image x:Key="ConnectedIcon" 
       x:Shared="false" 
       Margin="1,0" 
       Width="16" 
       Source="pack://application:,,,/MyResourceAssembly;component/Resources/Connect_24.png"/> 
     </ResourceDictionary> 
    </ResourceDictionary.MergedDictionaries> 

아무도이 문제를 해결할 생각이 없습니다. 어떤 항목에 아이콘을 별도로 추가해도 문제가 해결되지 않아 약 200 항목에 해당됩니다.

최고 감사 카드

답변

2

올바른 리소스의 자원을 사용하면 문제가 해결됩니다.

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <Image x:Key="ConnectedIcon" 
      x:Shared="False" 
      Source="pack://application:,,,/MyResourceAssembly;component/Resources/Connect_24.png" 
      Margin="1,0" 
      Width="16"/> 
</ResourceDictionary> 

여기서 x : Share는 정상적으로 작동합니다.