用菜单替换ComboBox的下拉列表

3

如何将ComboBox默认的下拉列表替换为菜单?

2个回答

5
我意识到将 <Menu> 样式化成 <ComboBox> 的外观要比让 <ComboBox> 显示菜单容易得多。
这里有一篇博客文章,介绍了如何实现这一点。

0
如果你只是想让ComboBox下拉菜单“看起来”像一个菜单,那么你不需要替换任何内容,因为ComboBox接受任意内容。
例如:
<Grid>
    <ComboBox Margin="25" MaxHeight="25">
        <TextBlock Text="Hello" />
        <TextBlock Text="Hello" />
        <TextBlock Text="Hello" />
        <TextBlock Text="Hello" />
        <Separator />
        <TextBlock Text="Hello" />
        <TextBlock Text="Hello" />
        <TextBlock Text="Hello" />
        <Separator />
        <TextBlock Text="Hello" />
    </ComboBox>
</Grid>

谢谢你的想法,本杰明。不幸的是,我需要菜单项的功能。然而,仅仅将 <MenuItem> 放置在组合框中并不能起到作用,因为这样做会导致它们失去一些行为。将它们包装在 <Menu> 中会使菜单栏出现在框中,而不是扩展菜单,所以这个选项似乎也不可行。在组合框中使用 <ContextMenu> 作为项目会导致异常。 :-( - Ben Gribaudo
你想要复制哪个菜单的功能? - Benjamin Gale

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