2013-02-16 3 views
6

아래 6 행째의 줄에 squiggly 행이 표시되어 제목에 오류가 표시됩니다. 방금 VS 2012로 마이그레이션했는데 VS 2010에서 모든 것이 잘 작동했습니다. 문제가 실제로 다른 곳에있는 것 같아요. 누군가이 xaml에 실제로 문제가 있는지 말해 줄 수 있습니까?"Keyictionary"속성은 "IDictionary"에 포함 된 요소에서만 사용할 수 있습니다.

<Application x:Class="SageWpf.App" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      xmlns:local="clr-namespace:SageWpf"> 
    <Application.Resources> 
     <ResourceDictionary x:Key="rd"> 
      <ResourceDictionary.MergedDictionaries> 
       <ResourceDictionary> 
        <local:AppBootStrapper x:Key="bootstrapper"/> 
        <local:EffectConverter x:Key="effectConverter"/> 
        <local:VisibilityConverter x:Key="visibilityConverter"/> 
       </ResourceDictionary> 
      </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 


    </Application.Resources> 
</Application> 

답변

10

<ResourceDictionary x:Key="rd">은 유효하지 않습니다. 거기에서 x:Key을 제거하십시오.

또한 리소스를 구조화하는 것은 좋지 않습니다. 로 변경 : 다른 XAML 파일에 정의 된 자원이 있고 여기를 가져 오려면

<Application.Resources> 
    <ResourceDictionary> 
     <local:AppBootStrapper x:Key="bootstrapper"/> 
     <local:EffectConverter x:Key="effectConverter"/> 
     <local:VisibilityConverter x:Key="visibilityConverter"/> 
    </ResourceDictionary> 
</Application.Resources> 

만 병합 된 사전을 사용합니다.

+0

좋아, 왜 그런 식으로해야 할 지 궁금했지만, Caliburn 이후로 남겨 두었습니다. 마이크로 예제는 병합 된 사전으로 그것을 수행했습니다. 솔직히 나는 x : Key = "rd"를 추가 한 이유를 완전히 기억하지 못한다. 그러나 내가 얻은 다른 오류를 고쳤다 고 맹세 할 수는 있었지만 ... 나는 그것이 작동하고 있었음을 확신한다. 2010 년에는 어쩌면 미친 약을 복용하는 것일 수도 있습니다. 문제는 지금도 내가 당신의 솔루션으로 여전히 같은 오류를 얻고 있지만 squiggly 라인이 bootsrapper 라인에 있다는 것입니다. –

+0

이 수정되었습니다. 내 편집을 참조하십시오. –

+0

나는 부분적으로 착각을했습니다 ... 부트 스트 래퍼 라인 아래의 오류는 완전히 다른 것이 었습니다. 그러나 나는 여전히 원래의 동일한 오류 메시지가 나타납니다. 구불 구불 한 선은 어프 리케이션 태그의 '<'문자 바로 아래에 있습니다. –

관련 문제