m.SetValue(TextBlock.TextAlignmentProperty, TextAlignment.Center);
SetValue功能很强大,可以设置很多东西
以上在win7 正常运行,但是win10无效,不知道为什么,菜单用menuitem则不能居中,需要换成textblock,当然,也可以统一使用textblock吧?没系统测试:
if (System.Environment.OSVersion.Version.Major < 10)
{
MenuItem m = new MenuItem();
m.Width = 200;
m.SetValue(TextBlock.TextAlignmentProperty, TextAlignment.Center);
this.RegisterName("button_name", m);
menuContainer.Items.Add(m);
}
else
{
TextBlock m = new TextBlock();
m.Width = 200;
m.SetValue(TextBlock.TextAlignmentProperty, TextAlignment.Center);
this.RegisterName("button_name", m);
menuContainer.Items.Add(m);
}