StackPanel 内のいくつかのボタンのテンプレートを定義する XAML コードがあります。
<StackPanel x:Name="ThumbnailsStack">
<StackPanel.Resources>
<Style TargetType="Button">
<Setter Property="Height" Value="120" />
<Setter Property="Margin" Value="3" />
<Setter Property="BorderThickness" Value="0" />
</Style>
</StackPanel.Resources>
</StackPanel>
コードは機能し、スタック内のすべてのボタンは定義されたスタイルを想定しています。ここで、ContextMenu (Toolkit ライブラリから) をそれぞれにアタッチしたいと思います。私は次の方法を試しました:
App.xaml で
<Application.Resources>
<toolkit:ContextMenu x:Key="ThumbBtnMenu">
<toolkit:MenuItem Header="delete"></toolkit:MenuItem>
</toolkit:ContextMenu>
</Application.Resources>
前のコードでは、新しいタグを追加しました:
<StackPanel x:Name="ThumbnailsStack">
<StackPanel.Resources>
<Style TargetType="Button">
<Setter Property="Height" Value="120" />
<Setter Property="Margin" Value="3" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="toolkit:ContextMenuService.ContextMenu" Value="{StaticResource ThumbBtnMenu}" />
</Style>
</StackPanel.Resources>
</StackPanel>
これで、ページが読み込まれると、System.Windows.Markup.XamlParseException: Failed to assign to property 'System.Windows.Setter.Value'