2012-01-02 2 views
0

나는 다음을 TabControl을 가지고 : 당신이 Caliburn.Micro를 사용하여 뷰 모델에 바인딩 볼 수 있지만 난이 unrelevant 생각으로을 TabControl

<TabControl x:Name="Networks"> 
    <TabControl.ItemTemplate> 
    <DataTemplate> 
     <StackPanel Orientation="Horizontal"> 
     <TextBlock Text="{Binding DisplayName}" /> 
     <Button Content="X" cal:Message.Attach="CloseItem($dataContext)" /> 
     </StackPanel> 
    </DataTemplate> 
    </TabControl.ItemTemplate> 
</TabControl> 

. 새 TabItem을 추가하려면이 컨트롤의 오른쪽에 단추를 어떻게 추가합니까? 나는 간단한 해결책을 찾고있다. 나는 이것을 찾았으나 이것을 쉽게 구현하지 못했다.

감사

+1

http://stackoverflow.com/questions/3468866/wpf-tabcontrol-add-new-tab-button의 가능한 복제본은 무엇입니까? – snurre

답변

2

당신은 클릭에 새로운 항목을 추가 할 수 있습니다 끝에서 시작 부분에있는 탭에 대한 CollectionContainer과 한 노골적인 TabItemItemsSourceCompositeCollection을 만들 수의 (a + -tab 일부 브라우저에서와 같이) .

+0

이것을 시도했지만 바인딩이 작동하지 않는 것 같습니다. 나는 BindableCollection 을 가지고 있는데, 당신은 오직 freezable 콜렉션 만 바인딩 할 수 있다는 것을 읽었습니다. – errorcode007

+0

@ errorcode007 :'CollectionContainer'에'DataContext'가없고'ElementName'이나'RelativeSource'도 사용할 수 없습니다 ([이 질문을보십시오]) (http://stackoverflow.com/questions/6446699/how-do- collection-in-a-view-model))를 사용하는 것이 좋습니다. 물론 VM에서 컬렉션을 만들고 간단한 할당으로 작업 할 수 있습니다. –

+0

@ errorcode007 : 또한'IEditableCollectionView'는 단지이 유스 케이스를위한 것입니다. 주석에 링크 된 복제물을 보면, 이것보다 나은 해결책이 있습니다. –