Agregar elementos de tabla dinámicamente
tengo unTabControl
controlar
<TabControl Name="Farms_myVillages"
ItemsSource="{Binding Villages}">
</TabControl/>
En el código detrás, agrego algunas pestañas dinámicamente alTabControl
como sigue:
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);
}
dóndeVillageUserControl
es unUserControl
ese trato con el pueblo especificado. Este código funciona bien y obtiene los resultados esperados ...
El problema es que no quiero que esto esté en el código detrás, sino solo en elxaml
sí mismo.
Intento esto:
<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>
Después de ejecutarlo, arroja una excepción: "El elemento especificado ya es el hijo lógico de otro elemento. Primero desconéctelo".
¿Me he perdido algo? Por favor, ayúdame aquí ...