Я пытаюсь связать комбинированный список с Tabitems, используя конвертер
Мой класс преобразователя выглядит следующим образом
public class TabItemsCollection : IValueConverter
{
>public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
ItemCollection collection = value as ItemCollection;
IList<string> names = new List<string>();
foreach (TabItem ti in collection.SourceCollection)
{
names.Add(ti.Header.ToString());
}
return names;
}
public object ConvertBack(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
throw new NotSupportedException();
}
}
Мой xaml выглядит следующим образом
// выпадающий
<ComboBox Name="cmbModule"
ItemsSource="{Binding ElementName=mnuMain, Path=Items, Converter={StaticResource MenuItemsConverter}}" SelectedIndex="{Binding ElementName=mnuMain, Path=SelectedIndex}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
// TabControl
<local:MenuTab Name="mnuMain"></local:MenuTab>
Я связываю 'mnuMain' с элементами, которые являются пользовательским tabcontrol в codebehind, так как я не могу заполнить комбинированный список tabitems, потому что сначала запускается конвертер, а затем mnuMain. Если я создаю Tabitems в xaml, в поле со списком добавляются tabitems, но моя проблема связана с динамическим связыванием.