2014-09-27 2 views
1

이처럼 간단 XAML 형태로 특별한 스타일을 추가하기에 모호한 타입의 참조로 연결는 X : XAML 스타일 속성의 정적이 'System.Windows.Markup'

<Window x:Class="MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    x:Name="MainWin" Title="Main" Height="228" Width="525" WindowStyle="None"> 
    <Grid> 
     <Button x:Name="ButtonClose" Content="r" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" HorizontalAlignment="Left" Margin="491,10,0,0" VerticalAlignment="Top" Width="24" Click="ButtonClose_Click" IsCancel="True" BorderThickness="0" Background="#00DDDDDD" Foreground="#FFEEEEEE" FontFamily="Marlett" FontSize="16" ToolTip="Close (Esc)"/> 
    </Grid> 
</Window> 

이다 (나는 모든 불필요한 태그를 제거) 비 블로킹 오류 발생 :

Ambiguous type reference. A type named 'StaticExtension' occurs in at least two namespaces, 'System.Windows.Markup' and 'System.Windows.Markup'.

문제는 Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"입니다. 특성을 제거하면 오류가 사라집니다. 또한 프로젝트를 .NET 4로 전환해도 문제가 사라졌습니다.

similar question과 같이 네임 스페이스가 충돌하는 것으로 알고 있습니다. 그러나 이것을 막기 위해 XAML을 정확히 수정하는 방법은 무엇입니까?

  • 모든 오류 코드는 직접 작성하지 않고 디자이너가 작성한 것입니다.
  • .NET 3.5 (중요)
  • VS 2012 업데이트 4
  • (I 일부 SO 답변에서 발견으로이에 대한 결함을 알고있다) 나는 was reported to Microsoft
  • 뭔가 비슷한 ReSharper에서 사용하지있어, 그러나 VS 2012 업데이트 2
  • 단계 재현 : 마법사에서 새 프로젝트 • .NET 3.5을 선택을 만든 다음 "WPF 응용 프로그램"• 디자이너가 열립니다 • XAML • 모든 오류가
  • 012 주심 •를 다시 붙여 넣기 3,516,
+0

오류. – pushpraj

+0

@pushpraj - 나를 위해. 질문 하단에 * 재현 할 단계가 추가되었습니다. 나는 지금 그들을 성공적으로 테스트했다. 어떤 VS 및 .NET 버전에서 시도 했습니까? – miroxlav

+0

.net 4.5와 함께 VS2013을 사용하고 있습니다. 어딘가에서 VS2012를 찾을 수 있다면 해봅시다. – pushpraj

답변

0

마지막으로, 나는 그것이 구성
VisualStudio 2012 + .NET 3.5 + WPF에서 발생하는 특정 문제가 있음이 체결하고있다.

블로킹 문제가 아니기 때문에 함께 살 수 있습니다.

__

(일부는 더 나은 asnwer이있는 경우, 그것을 게시 자유롭게 나는 대신 하나의 허용 대답으로 표시 pottentially 수 있습니다.) 언급 재생되지 않는 코드 위