2014-10-18 5 views
0

저는 게임용 편집기를 구현하고 있습니다. 알아낼 수없는 약간의 불편 함이있었습니다. 내 Google-fu는 내가 원한 것이 든 가능하든 대답을 찾기 위해 실패하고 있습니다.WPF window/usercontrol inheritance XAML

기본적으로 내 편집기는 관리하는 각 개체에 대한 세부 정보 창이 있습니다.이 세부 정보 창은 항상 동일합니다 : 탭 컨트롤, 탭의 "속성"및 하나 이상의 탭 개체와 관련된 창 에 대한 것입니다.

나는 당신이 원하는만큼 탭을 확장하고 추가 할 수있는 Properties-tab이 정의 된 TabControl이있는 BaseEditor.xaml을 갖는 것이 좋을 것이라고 생각했습니다.

나는 UserControl을 만들고, TabControl을 추가 한 다음, 코드 숨김의 속성에 바인딩 된 CompositeCollection을 추가한다.이 코드는 기술적으로 수정할 수있다. 창에 usercontrol을 추가하십시오. 그러나, 그것은 조금이라도 작동하지 않습니다. 그리고 나는 Window에서 확장하기보다는 Window에 UserControl을 추가해야한다는 사실에 만족하지 않습니다. 이 같이 사용되는 창에 다음

<UserControl> 
    <Grid> 
     <TabControl HorizontalAlignment="Left" Height="300" VerticalAlignment="Top" Width="300"> 
      <TabControl.ItemsSource> 
       <CompositeCollection> 
        <CollectionContainer Collection="{Binding TabItems}" /> 
        <TabItem Header="Properties" /> 
       </CompositeCollection> 
      </TabControl.ItemsSource> 
     </TabControl> 
    </Grid> 
</UserControl> 

:

모두 모두

, 여기에 내 첫 번째 시도이다

<Window> 
    <Grid> 
     <UserControl> 
      <UserControl.TabItems> 
       <TabItem Header="Test" /> 
      <UserControl.TabItems> 
     </UserControl> 
    </Grid> 
</Window> 

이 의사 코드,하지만 말했듯이, 그렇지 않습니다 그냥 속성 탭을 보여줄 것입니다.

모든 포인터가 많이 감사하겠습니다!

답변

0

난 당신이 수요에 탭 레지스터에 TabControl을 결국 (예. 오히려 XAML을 통해 그것을 정의하는 노력보다 RegisterTab -method의 수단에 의해.