WPF - ComboBox带有按钮项

4

我有一个下拉框,想要在其中添加按钮作为选项。但是,当我从下拉框中选择该按钮并点击它时,操作并没有执行,而是下拉框的列表弹出了。请问应该怎么做?如果不可能实现这个功能,我想我只能采用其他方法了。欢迎提供建议。谢谢!

<ComboBox>
  <ComboBoxItem Name="Item1">
    <Button Name="Button1" Click="Button1_OnClick">first button</Button>
  </ComboBoxItem>
  <ComboBoxItem Name="Item2">
    <Button Name="Button2" Click="Button2_OnClick">second button</Button>
  </ComboBoxItem>
</ComboBox>

1个回答

8
您需要使用ItemTemplate,就像这样:
<ComboBox x:Name="CB" Width="150" ItemsSource="{BindingItems}">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <Button Content="Click" Click="Button_Click" /> 
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>

你需要事件处理程序:

private void Button_Click(object sender, RoutedEventArgs e)
{
    Do something
}

首先,感谢您的快速回复... 这是否意味着绑定的按钮都有相同的事件处理程序?我想为这些按钮设置不同的处理程序。 - Macho Gwapito
@MachoGwapito 不,如果你想的话,它的按钮可以有不同的事件处理程序。甚至可以和我说的一样。 - Thanos Markou
是的。谢谢。我刚才由于您的回答突然有了一个"恍然大悟"的时刻。:D再一次,非常感谢! - Macho Gwapito

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接