문제

몇 가지 유사한 속성을 가져야하는 USERCONTROL 세트가 있습니다. 따라서 이러한 속성을 정의 하고이 기본 클래스에서 상속되도록 .xaml.cs 및 .g.cs 파일을 업데이트하는 UserControl의 추상 서브 클래스를 정의했습니다. 모두 잘 컴파일하고 잘 작동합니다. 엄청난! 그러나 ....g.cs 파일이 생성되어 재생 될 것이므로 Blend 또는 Visual Studio를 USERCONTROL보다는 기본 클래스에서 물려 받도록하려면 어떻게해야합니까?

도움이 되었습니까?

해결책

XAML을 약간 변경하여 네임 스페이스로 USERCONTROL 선언을 접두사로 변경해야합니다.

<local:MyBaseControl x:Class="MyNameSpace.MyControl"
    xmlns:local="clr-namespace:MyNameSpace"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <!-- Content -->
</local:MyBaseControl>

MyNamespace가 네임 스페이스 (DUH!) 인 경우 MyBaseControl은 기본 클래스이며 MyControl은 MyBaseControl에서 상속하는 컨트롤입니다. X : 클래스 부품은 동일한 네임 스페이스에있을 필요가 없습니다. 예제에 대해서도 동일하게 유지했습니다.

더 많은 정보 여기 그리고 여기.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top