2012-02-01 69 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