이상한 동작이 나타납니다. 나는 그것이 .net toolchain의 버그라는 강한 느낌을 가지고있다.첨부 된 특성이 이상한 WPF 오류
단계 재현 :
- 는 WPF 응용 프로그램을 만듭니다.
- 해당 솔루션에서 클래스 라이브러리를 만듭니다.
- 클래스 라이브러리에서 일부 공용 클래스 (비어있을 수 있음)를 정의하십시오.
- 첨부 된 속성 및 Window를 대상 클래스로하여 WPF 응용 프로그램의 일부 클래스를 정의하십시오. 는 윈도우에 부착하고 값을
을 제공 그리고 당신은 오류 얻을 : 당신이 구조를 변경하는 경우
The object 'Window' already has a child and cannot add ''. 'Window' can accept only one child.
동일한 어셈블리에 연결된 속성 및 값 클래스 (와 그 클래스가 될 두 클래스 라이브러리 수 또는 Wpf 응용 프로그램) 잘 작동합니다.
내용 뒤에 코드를 넣으면 잘 작동합니다. 이 오류를 제공합니다 :
<Window x:Class="WpfApplication9.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:my="clr-namespace:ClassLibrary1;assembly=ClassLibrary1"
xmlns:my2="clr-namespace:ClassLibrary1"
Title="MainWindow" Height="350" Width="525">
<my2:Property.MyProperty>
<my:ValueClass />
</my2:Property.MyProperty>
<Grid>
</Grid>
</Window>
이되지 않습니다
<Grid>
</Grid>
<my2:Property.MyProperty>
<my:ValueClass />
</my2:Property.MyProperty>
어떤 아이디어?
감사합니다.
@Rick Sladkey 첫 단락을 명확하게 이해하지 못했지만 약간 확장 할 수 있습니까? 또한 연결된 속성은 XAML이 살고있는 어셈블리와 동일합니다.이 값은 다른 어셈블리에 있습니다. – Andrey
@Andrey : 물론입니다. 나는 대답에 조금 더 덧붙였다. –
@Rick Sladkey 감사합니다. 매우 흥미 롭습니다. 그러나 귀하의 설명에 따라 두 클래스가 모두 작동 할 때 왜 그것이 작동하는지 이해할 수 없습니다 : XAML이 살고있는 동일한 어셈블리에 가치가있는 속성과 값이 사용되었습니다. – Andrey