2012-02-01 68 views
0

我有一個TabControl綁定到一個集合和一個DataTemplate的TabItems。它工作得很好,但現在我想將Button的CommandTarget綁定到當前選定的TabItem上的textEditor。我怎樣才能達到目的?如何設置TabItem的內容爲CommandTarget

<TabControl Name="tabs" Grid.Row="1" Margin="0,5,0,0" 
    ItemsSource="{Binding Tabs, Mode=OneTime}"> 
     <TabControl.ContentTemplate> 
      <DataTemplate DataType="vm:TabViewModel"> 
       <avalon:TextEditor Name="textEditor" 
        Document="{Binding Document, Mode=OneWay}" Margin="3" 
        HorizontalScrollBarVisibility="Auto" 
        VerticalScrollBarVisibility="Auto"/> 
      </DataTemplate> 
     </TabControl.ContentTemplate> 
    </TabControl> 
+0

一些更多關於你想要實現的細節..例如什麼命令....更具體地是什麼按鈕? Cus所有我在代碼中看到的是帶有'TextEditor'的'TabControl' ...作爲'ContentTemplate' – Ankesh 2012-02-03 05:04:10

回答

1

我沒有找到一個優雅的方式來解決此問題,但有幾個解決方法。首先要從DataTemplate中找到控件,您必須使用VisualTreeHelper來查找TabControl的子項。然後你可以打包這個機制到自定義的IValueConverter,行爲或視圖模型,並通過CommandTarget