2017-01-16 70 views
2

考慮下面的代碼:出的GridView中移除了下劃線

$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-表,在列標題中的下劃線被保留。

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

然而,使用外的GridView時,下劃線被自動刪除?

Underscores removed

有誰知道如何避免這種情況?

回答

1

這似乎與WPF中的事實有關,即文本中的第一個下劃線是控件的加速器字符的前綴。

有關詳細信息,請參閱本blog post

WPF使用下劃線代替號字符 (如使用的WinForms)的前綴中的元素文本的訪問(又名加速器或 助記符鍵)像標籤和按鈕。

您可以使用兩個下劃線轉義下劃線。

所以這個代碼將在GridView顯示好吧,但不是在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 

請注意逃逸僅在字符串中的第一個下劃線,而不是其他的必要。

我想,這可能被視爲一個bug(因爲它實際上沒有增加任何快捷鍵其一),但我無法找到http://connect.microsoft.com

任何報告