Merci pour votre soutien.
L'exemple de matdur:
- la définition de deux variables X et Y pour le positionnement.
J'ai ajouté une propriété Element de type UserControl :
pubic UserControl Element { get; set; }
Pour tester, j'ai donc initialisé l'observableCollection puis insérer un nouveau itemViewModel dans mon mainViewModel.
1 2 3
|
this._items = new ObservableCollection<ItemViewModel>();
this._items.Add(new ItemViewModel { X = 80, Y=10, Element= new LoginView()}); |
Modification du mainview.xaml :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
<ItemsControl ItemsSource="{Binding Items}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas IsItemsHost="True" Width="auto" Height="auto"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<UserControl /> //récupération de la propriété Element
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Canvas.Left" Value="{Binding X}" />
<Setter Property="Canvas.Top" Value="{Binding Y}" />
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl> |
Problématique:
A ce niveau, je n'arrive pas à binder le UserControl (coté xaml) par rapport à celle que je définis dans la class ItemViewModel.
J'ai essayé avec la propriété content, mais il s'affiche pas 
Merci pour votre aide
--
war120
Partager