У меня есть TabControl
контрольДобавление TabItems динамически
<TabControl Name="Farms_myVillages"
ItemsSource="{Binding Villages}">
</TabControl/>
В коде позади добавить некоторые вкладки динамически в TabControl
следующим образом:
foreach (Village vill in Villages)
{
TabItem tab = new TabItem();
tab.Header = vill.Name;
VillageUserControl c = new VillageUserControl();
c.DataContext = vill;
tab.Content = c;
Farms_myVillages.Items.Add(tab);
}
где VillageUserControl
является UserControl
, что дело с указанным деревня. Этот код отлично работает и получает ожидаемые результаты ...
Проблема в том, что я не хочу, чтобы это было в коде позади, но только в самом xaml
.
Я стараюсь это:
<TabControl Name="Farms_myVillages"
ItemsSource="{Binding Villages}">
<TabControl.ItemContainerStyle>
<Style TargetType="TabItem">
<Setter Property="Header" Value="{Binding Name}"/>
<Setter Property="Content">
<Setter.Value>
<u:VillageUserControl DataContext="{Binding}"/>
</Setter.Value>
</Setter>
</Style>
</TabControl.ItemContainerStyle>
</TabControl>
После того как я запустить его, он бросает исключение: «Указанного элемент уже является логическим потомком другого элемента Отключите его первым.»
Я что-то пропустил? Пожалуйста, помогите мне здесь ...
да, спасибо HB от всего моего сердца. .. –
Добро пожаловать, рад, что это помогло :) (На боковой ноте: вы можете отметить ответы через схему галочки, которая появляется, если вы перемещаете мышь под голосами слева, до сих пор вы не принимали никаких ответов на ваши вопросы, вы можете пройти через них и принять ответ, который помог самому) –
да, я сделал это, действительно, это хорошо Веб-сайт.. –