我有一个包含菜单项数据模板的菜单项。问题是其中的菜单项没有占用右侧的所有可用空间。我有什么办法可以解决这个问题吗?
<MenuItem Header="Test" ItemsSource="{Binding DataContext.Test, Source={x:Reference TestControl}}"
Command="{Binding DataContext.Test_Click, Source={x:Reference TestControl}}">
<MenuItem.ItemTemplate>
<DataTemplate>
<MenuItem Header="{Binding TestName}"
Command="{Binding DataContext.Test_Click, Source={x:Reference TestControl}}"
CommandParameter="{Binding TestId}">
<MenuItem.Icon>
<Ellipse Fill="{Binding TestId, Converter={StaticResource TestConverter}}"/>
</MenuItem.Icon>
</MenuItem>
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>

发布于 2020-06-20 00:41:40
您正在观察的是default MenuItem's ControlTemplate的内置列间距。
强调了下面的罪魁祸首:

这些列定义用于显示菜单项的任何键盘快捷键,以及某些硬编码的13列填充(为什么?我不知道)。
因此,为了回答您的问题,如果您想占用右侧的可用空间,您将需要使用您自己的ControlTemplate覆盖MenuItem的模板,该up不包括最后两列定义。
https://stackoverflow.com/questions/62461433
复制相似问题