4
我的窗口中有一個ListView,它有許多列。部分或全部列不能由用戶調整大小,因爲它們已經具有最佳寬度並且意外調整大小隻會使情況變得更糟。現在對這個問題有一些答案,但是所有這些問題都以重新設置控制權結束。不幸的是,我最終得到了大量的XAML代碼,這是高度平臺/主題特定的。當我使用Blend創建默認樣式的副本時,我會得到很多隻能在Win7 Aero上工作的漸變等,但不會在XP主題中出現,或者會出現任何問題。禁用ListView中列的大小調整
因此,更換控件的整個樣式不是一種選擇。 (它幾乎沒有真的。)
我已經確定了需要隱藏的部分,它被命名爲「PART_HeaderGripper」。我以前做過這樣的事情,在代碼隱藏下面的代碼去除一個進度條運行輝光等部位:
var glow = progressBar.Template.FindName("PART_GlowRect", progressBar) as FrameworkElement;
if (glow != null) glow.Visibility = visibility;
但由於Template.FindName沒有這個不以GridViewColumnHeader工作找到任何東西(返回null)。我很確定在運行時必須有一種方法來修改視覺效果。但我現在無法弄清楚。任何想法?
'GridViewColumnHeader.IsHitTestVisible = FALSE'不工作,列不能調整大小和鼠標光標不改變。但是你不能點擊列進行排序了。所以在某些情況下它可能是可以接受的。 (對我來說是這樣,但是我會等待其他解決方案出現。) – ygoe
謝謝!這似乎是迄今爲止最好的答案,並且易於風格化。 '<形式的TargetType = 「{x:類型GridViewColumnHeader}」> ' 其它解決方案似乎需要覆蓋整個模板並省略調整大小「拇指」。堅果IMO。 –
Ternary