Est-ce que quelqu'un sait pourquoi cela produirait un XamlParseException « Impossible d'ajouter le contenu de type « System.Windows.Controls.ContextMenu » à un objet de type « System.Object » »:ContextMenu dans le style poseur
<ItemsControl>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas ClipToBounds="True"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemContainerStyle>
<Style TargetType="ContentPresenter">
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Header="Remove" />
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
Et les travaux suivants vont bien?
<ItemsControl>
<ItemsControl.Resources>
<ContextMenu x:Key="NodeContextMenu">
<MenuItem Header="Remove" />
</ContextMenu>
</ItemsControl.Resources>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas ClipToBounds="True"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemContainerStyle>
<Style TargetType="ContentPresenter">
<Setter Property="ContextMenu" Value="{StaticResource NodeContextMenu}" />
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
c'est bizarre. doit être quelque chose à voir avec la valeur attend un objet mais je ne vois pas pourquoi cela provoquerait une exception ... Si cela est dans Expression Blend, il peut être utile de rouvrir tout parce qu'il peut parfois jouer –
dans son studio visuel 2008 l'application est exécutée, j'ai déplacé le menu contextuel vers les ressources et cela fonctionne mais je pense qu'il devrait fonctionner avec le setter aussi, c'est peut-être un bug – serine
C'est effectivement le même problème qu'avec [cette question] (http: // stackoverflow. com/questions/1495489/impossible-à-set-système-windows-contrôles-menuitem-icon-thru-a-setter). – CodeNaked