我有一段 XAML 代码,它为 StackPanel 中的一些按钮定义了一个模板:
<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'