Как установить содержимое TabItem как CommandTarget - PullRequest
0 голосов
/ 01 февраля 2012

У меня есть TabControl, привязанный к коллекции, и DataTemplate для TabItems.Это работает довольно хорошо, но теперь я хочу привязать CommandTarget Button к textEditor на выбранном в данный момент TabItem.Как мне этого достичь?

<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 Ответ

1 голос
/ 03 февраля 2012

Я не нашел элегантного способа решения этой проблемы, но есть несколько обходных путей.Сначала, чтобы найти элементы управления из DataTemplate, вы должны использовать VisualTreeHelper, чтобы найти дочерний элемент TabControl.Затем вы можете упаковать этот механизм в пользовательский IValueConverter, поведение или viewmodel и передать как CommandTarget

...