【问题标题】:How to set TabItem content as CommandTarget如何将 TabItem 内容设置为 CommandTarget
【发布时间】:2012-02-24 11:56:17
【问题描述】:

我有一个绑定到集合的 TabControl 和一个用于 TabItems 的 DataTemplate。它工作得很好,但现在我想将 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>

【问题讨论】:

  • 有关您要实现的目标的更多详细信息..例如什么命令...。更具体地说是什么按钮???因为我在代码中看到的只是 A TabControlTextEditor...as ContentTemplate

标签: wpf xaml data-binding tabcontrol tabitem


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 2012-11-13
    • 1970-01-01
    • 2014-05-28
    • 2014-11-15
    • 2012-02-08
    • 2021-09-12
    相关资源
    最近更新 更多