C# 是否有一个Unicode;“空白”;免修剪的字符?

C# 是否有一个Unicode;“空白”;免修剪的字符?,c#,unicode,windows-runtime,uwp,C#,Unicode,Windows Runtime,Uwp,我使用的是基于类的上下文菜单,菜单命令添加了UICommandclass。一切正常,但正在尝试为当前选定的命令添加复选标记。使用合适的Unicode字符(如复选标记或实心圆等)也很容易做到这一点 需要技巧的是,为了对齐命令,我需要在每个命令的开头插入一个“空白”,不带复选标记,以便命令文本都对齐,并向左偏移一个复选标记(例如,仅用于直观演示)。每次尝试插入空格字符时,前面的空白总是会被修剪 现在,这让我思考:如果有一个Unicode空白字符,WinRT/UWP系统可以豁免修剪,并按原样处理(作为

我使用的是基于类的上下文菜单,菜单命令添加了UICommandclass。一切正常,但正在尝试为当前选定的命令添加复选标记。使用合适的Unicode字符(如复选标记或实心圆等)也很容易做到这一点

需要技巧的是,为了对齐命令,我需要在每个命令的开头插入一个“空白”,不带复选标记,以便命令文本都对齐,并向左偏移一个复选标记(例如,仅用于直观演示)。每次尝试插入空格字符时,前面的空白总是会被修剪

现在,这让我思考:如果有一个Unicode空白字符,WinRT/UWP系统可以豁免修剪,并按原样处理(作为空白字符)


我遇到过一些特殊情况,例如不间断空格字符。出于同样的原因,是否存在不可修剪的空格字符?

您应该使用更常用的
菜单。它还允许您使用
MenuFlyoutItems
,您可以通过在其中放置任何您想要的布局来重新模板化它们。

+1谢谢,这是一个更好的解决方案。我试图保留一个基于PopupMenu的现有代码,但它的样式选项非常有限,最重要的是一个内置的复选标记选项,MenuFlyout(和一个子类ToggleMenuFlyout)支持更多选项。