我应该使用 ContextMenu 来显示几个按钮吗?

Should I use a ContextMenu to show a couple of buttons?

我正在开发一个 WPF 应用程序,我想要以下功能:如果用户右键单击进度条,应在单击的位置弹出一个小的上下文菜单。这个菜单应该只包含几个水平排列的按钮。我应该为此使用 ContextMenu 还是有更合适的 WPF 元素? 我尝试了一个 ContextMenu,它是这样的:

这是XAML:

        <ProgressBar x:Name="PgF" Height="10" Value="{Binding Path=FileCurrentMs}" Maximum="{Binding Path=FileLengthMs}">
            <ProgressBar.ContextMenu>
                <ContextMenu>
                    <StackPanel Orientation="Horizontal">
                        <Button Content="A"/>
                        <Button Content="B"/>
                        <Button Content="C"/>
                    </StackPanel>
                </ContextMenu>
            </ProgressBar.ContextMenu>
        </ProgressBar>

在 ContextMenu 中,我在左侧和右侧有 space,这是我不想要的,我在其他帖子中读到,仅仅删除这个 space 并不简单。有什么想法吗?

像这样尝试:

<ProgressBar x:Name="PgF" Height="10" Value="{Binding Path=FileCurrentMs}" Maximum="{Binding Path=FileLengthMs}">
    <ProgressBar.ContextMenu>
        <ContextMenu>
            <MenuItem>
                <MenuItem.Template>
                    <ControlTemplate>
                        <StackPanel Orientation="Horizontal">
                            <Button Content="A" Margin="2"/>
                            <Button Content="B" Margin="2"/>
                            <Button Content="C" Margin="2"/>
                        </StackPanel>
                    </ControlTemplate>
                </MenuItem.Template>
            </MenuItem>

        </ContextMenu>          
    </ProgressBar.ContextMenu>
</ProgressBar>

您需要将所有按钮放在一个菜单项中:)祝您好运