이처럼 간단 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,
오류. – pushpraj
@pushpraj - 나를 위해. 질문 하단에 * 재현 할 단계가 추가되었습니다. 나는 지금 그들을 성공적으로 테스트했다. 어떤 VS 및 .NET 버전에서 시도 했습니까? – miroxlav
.net 4.5와 함께 VS2013을 사용하고 있습니다. 어딘가에서 VS2012를 찾을 수 있다면 해봅시다. – pushpraj