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,保留headers列上的下划线。
ho_ho ha_ha
----- -----
1 2
3 4
但是,当使用Out-Gridview时,下划线会被自动删除?
有谁知道如何避免这种情况?
这似乎与 WPF 中的事实有关,即文本中的第一个下划线作为控件加速器字符的前缀。
有关详细信息,请参阅此 blog post:
WPF uses an underscore character instead of the ampersand character
(like with WinForms) to prefix an access (a.k.a. accelerator or
mnemonic) key in the text of its elements like Label and Button.
You can escape the underscore by using two underscores.
所以这段代码会在 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
的任何报告
考虑以下代码:
$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,保留headers列上的下划线。
ho_ho ha_ha
----- -----
1 2
3 4
但是,当使用Out-Gridview时,下划线会被自动删除?
有谁知道如何避免这种情况?
这似乎与 WPF 中的事实有关,即文本中的第一个下划线作为控件加速器字符的前缀。
有关详细信息,请参阅此 blog post:
WPF uses an underscore character instead of the ampersand character (like with WinForms) to prefix an access (a.k.a. accelerator or mnemonic) key in the text of its elements like Label and Button.
You can escape the underscore by using two underscores.
所以这段代码会在 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
的任何报告