¿Alguien sabe por qué esto produciría un XamlParseException "No se puede agregar el contenido del tipo 'System.Windows.Controls.ContextMenu' a un objeto de tipo 'System.Object'":ContextMenu en colocador Estilo
<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>
Y el siguiente funciona 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>
eso es raro. debe tener algo que ver con Value esperando un objeto, pero no veo por qué eso causaría una excepción ... Si esto está en Expression Blend, podría valer la pena reabrir todo porque puede reproducirse a veces –
en Visual Studio 2008 mientras la aplicación se ejecuta, moví el menú contextual a los recursos y funciona, pero creo que debería funcionar también con el colocador, quizás sea un error – serine
Este es efectivamente el mismo problema que con [esta pregunta] (http: // stackoverflow. com/questions/1495489/unable-to-set-system-windows-controls-menuitem-icon-thru-a-setter). – CodeNaked