我有应该显示字段列表的 ListBox。当为空时,我希望在 ListBox 中有一个“添加字段”按钮。因此,我为添加按钮的空案例创建了一个样式。我需要为按钮的 Click 事件添加处理程序以创建新字段并将其添加到列表中,因此我使用 EventSetter 来附加处理程序。这是我拥有的代码。
<ListBox.Style>
<Style TargetType="ListBox" BasedOn="{StaticResource {x:Type ListBox}}">
<Style.Triggers>
<Trigger Property="HasItems" Value="False">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Button Content="Add field" Height="20">
<Button.Style>
<Style TargetType="{x:Type Button}">
<EventSetter Event="Click" Handler="AddField_Click" />
</Style>
</Button.Style>
</Button>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</ListBox.Style>
问题是,当我编译时,在 EventSetter 标记所在的行出现以下错误:
error MC4007: The event 'Click' cannot be specified on a Target tag in a Style.
Use an EventSetter instead.
我难住了。我已经使用了 EventSetter。我该如何解决这个问题?还有其他方法可以指定我应该使用的 EventSetter 吗?