J'ai un ItemControl dans silverlight 4 avec un Canvas comme ItemPanel, l'idée est de simuler une zone de toile avec des éléments drag and dop. ItemsControl a un ItemTemplate avec une image et un bouton.Comment modifier itemTemplate d'un article dans itemControl à l'exécution dans silverlihgt 4
L'idée est que lorsque le bouton de itemTemplate Cliquez sur le itemTemplate change.
Certains de mon code: (éléments de commande)
<ItemsControl ItemsSource="{Binding Devices}"
ItemTemplate="{StaticResource deviceItemTemplate}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
MouseLeftButtonDown="Canvas_MouseLeftButtonDown"
MouseMove="Canvas_MouseMove"
LostMouseCapture="Canvas_LostMouseCapture"></Canvas>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
(ItemTemplate)
<DataTemplate x:Key="deviceItemTemplate">
<ContentControl>
<Grid IsHitTestVisible="True" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition Height="30"></RowDefinition>
</Grid.RowDefinitions>
<Image IsHitTestVisible="False" Grid.Row="0" Stretch="UniformToFill"
Width="50" Height="50"
Source="{Binding ImagePath}"/>
<Button Grid.Row="1" Content="{Binding EditarDispositivoCommand.DisplayName}" Command="{Binding EditarDispositivoCommand.Command}"></Button>
</Grid>
<ContentControl.RenderTransform>
<TranslateTransform X="{Binding X, Mode=TwoWay}" Y="{Binding Y, Mode=TwoWay}"></TranslateTransform>
</ContentControl.RenderTransform>
</ContentControl>
</DataTemplate>
J'essaie d'obtenir que quand un bouton dans un ItemTemplate est cliqué sur le modèle de ce changement d'élément à l'autre modèle de la ressource. Était-ce possible ou je prenais un mauvais chemin. Merci beaucoup.
Bonjour chadbr thatnks pour votre réponse, j'essaie la solution que vous m'avez fournie mais le problème est qu'avec un DataTemplateSelector la ItemCollection l'utilise seulement la première fois qui est chargée, et puis une fois que les articles sont affichés j'ai besoin de changer le modèle. Est-ce par exemple si dans l'exemple de codeproject que vous me montrez chaque rangée de la ville ont un buttom et quand vous cliquez sur le bouton le pays de cette ville change à l'autre ... – Diego