繁体   English   中英

Out-Gridview删除下划线

[英]Out-Gridview removes underscores

请考虑以下代码:

$a = @()

$b = "" |select ho_ho,ha_ha
$b.ho_ho = "1"
$b.ha_ha = "2"
$a+=$b

$b = "" |select ho_ho,ha_ha
$b.ho_ho = "3"
$b.ha_ha = "4"
$a+=$b

$a | Format-Table -AutoSize
$a | Out-GridView

使用Format-Table,保留列标题上的下划线。

ho_ho ha_ha
----- -----
1     2
3     4

但是,使用Out-Gridview时,下划线会自动删除吗?

下划线已删除

有谁知道如何避免这种情况?

这似乎与WPF中的事实有关,即文本中的第一个下划线为控件的加速器字符添加前缀。

有关详细信息,请参阅此博文

WPF使用下划线字符而不是&符号(与WinForms一样)在其元素文本(如Label和Button)中为访问(也称为加速器或助记符)键添加前缀。

您可以使用两个下划线来转义下划线。

因此,此代码将在gridview中显示Ok,但不在Format-Table输出中显示

$a = @()

$b = "" |select ho__ho,ha__ha
$b.ho__ho = "1"
$b.ha__ha = "2"
$a+=$b

$b = "" |select ho__ho,ha__ha
$b.ho__ho = "3"
$b.ha__ha = "4"
$a+=$b

$a | Format-Table -AutoSize
$a | Out-GridView

请注意,只有字符串中的第一个下划线才需要转义,而不是其他字符串。

我认为这可能被视为一个错误(因为它实际上并没有添加任何密钥快捷方式),但我在http://connect.microsoft.com上找不到任何报告

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM