Я создал CustomTabItem, который наследуется от TabItem, и я хотел бы использовать его при привязке ObservableCollection в TabControl
<TabControl ItemsSource="{Binding MyObservableCollection}"/>
Это должно нравиться в XAML, но я не знаю, как изменить тип по умолчанию для элемента вывода, созданного TabControl при связывании.
Я пытался создать конвертер, но он должен делать что-то вроде этого внутри метода convertin:
List<CustomTabItem> resultList = new List<CustomTabItem>();
И итерации по моему вводу ObservableCollection, создайте мой CustomTab на основе элемента из коллекции и добавьте его в resultList ...
Я бы хотел этого избежать, поскольку при создании CustomTabItem я создаю сложное представление, и это занимает некоторое время, поэтому я не хочу создавать его всегда, когда что-то меняется в связанной коллекции.
Мой класс расширяет типичный TabItem, и я хотел бы использовать этот класс в TabControl вместо TabItem.
<TabControl.ItemContainerStyle>
<Style TargetType="{x:Type local:CustomTabItem}">
<Setter Property="MyProperty" Value="{Binding xxx}"/>
</Style>
</TabControl.ItemContainerStyle>
Код выше генерирует ошибку, что Стиль не может быть применен к TabItem.
Моя основная цель - использовать в XAML свой собственный CustomTabItem и свойства связывания ... Как и выше ...
Я также пытался использовать
<TabControl.ItemTemplate/>
<TabControl.ContentTemaplte/>
Но это просто стили для TabItem, поэтому я все еще буду скучать по своим свойствам, которые я добавил в свой пользовательский класс.