如何将TabItem内容设置为CommandTarget

时间:2012-02-01 19:32:10

标签: wpf xaml data-binding tabcontrol tabitem

我有一个TabControl绑定到一个集合,一个DataTemplate绑定到TabItems。它工作得很好,但现在我想将Button的CommandTarget绑定到当前选定的TabItem上的textEditor。我该如何实现呢?

<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>

1 个答案:

答案 0 :(得分:1)

我没有找到解决此问题的优雅方法,但解决方法很少。首先从DataTemplate中查找控件,您必须使用VisualTreeHelper来查找TabControl的子项。然后,您可以将此机制打包到自定义IValueConverter,行为或视图模型,并作为CommandTarget传递