У меня есть TabControl
, где TabItem
s - DataTemplat
ed. Шаблон, похоже, работает правильно, так как пользовательский контроль, который я хочу показать в TabItem
, отображается правильно.Как я могу получить кнопку закрытия шаблона TabItem в WPF?
Что я не уверен в том, как получить «x» для отображения в TabItem
, чтобы я мог закрыть каждую вкладку, так как они динамически генерируются через шаблон.
Являясь довольно новым для WPF, я начинаю понимать многие концепции, но TabControl
дал мне массу проблем, поэтому я могу очень хорошо работать с шаблоном, но не поддерживаемым.
Это то, что у меня есть, и я хотел был бы иметь возможность закрыть каждый TabControl
. Я также должен уметь запускать настраиваемое событие, когда он закрыт TabControl
.
<UserControl x:Class="Russound.Windows.UI.UserControls.CallLog.CaseReaderWpf"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:CallLog="clr-namespace:Russound.Windows.UI.UserControls.CallLog"
Height="637" Width="505">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Russound.Windows;component/UI/RussoundDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<TabControl x:Name="tabCases" >
<TabControl.ItemTemplate>
<DataTemplate DataType="{x:Type TabItem}">
<StackPanel>
<TextBlock Text="{Binding Path=Id}" />
</StackPanel>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate DataType="{x:Type TabItem}">
<CallLog:CaseReadOnlyDisplay DataContext="{Binding}" />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
</UserControl>
Хотя я считаю, что это часть «Темных искусств», она работает после довольно много чтения и игры. Я уверен, что мне просто нужно привыкнуть к этому способу мышления, и просто нужно принять это как часть Winforms для изменения WPF. – Russ
Интересно, почему он связал название TabItem с DisplayName, а не свойство заголовка TabItem. – Sam
Простой и элегантный. Это было самое легкое решение, с которым я столкнулся и работал как шарм. –