2014-04-25 79 views
2

WPF工具提示和文本換行我有一個擴展:用於擴展

<Expander Header="{Binding Name}" IsExpanded="False" > 

如何添加工具提示呢?

而另一個問題,標題的名稱很長,由於某種原因,擴展器留下了名稱的中間中的一個字符。

例如:

  • 名稱是 - something_second
  • 顯示屏顯示:somethingsecond

什麼可能呢?

我想讓它包裹文字,但不知道如何去做。

編輯:

行,所以我設法做一個提示,我的用戶靜態資源。 但由於某些不合理的原因,文本仍然被剪切

+0

可能重複[禁用WPF標籤a ccelerator鍵(文本下劃線缺失)](http://stackoverflow.com/questions/40733/disable-wpf-label-accelerator-key-text-underscore-is-missing) – McGarnagle

回答

1

當標籤中存在下劃線時,WPF會將其解釋爲訪問密鑰。要解決這個問題的方法之一是使用雙下劃線,其逃逸的訪問字符:

public string Name 
{ 
    get { return _name; } 
    set { _name = (value ?? "").Replace("_", "__"); 
} 
private string _name; 

或者:有可能關閉訪問字符爲個人控制,使用ContentPresenter.RecognizesAccessKey。不幸的是,要使用這個,你通常必須複製/修改默認控制模板,並將任何ContentPresenter的「RecognizesAccessKey」屬性設置爲false。對於Expander,例如,你將不得不修改default template的這一部分:

<ContentPresenter Grid.Column="1" 
        Margin="4" 
        ContentSource="Header" 
        RecognizesAccessKey="False" /> 

一個比較另類的(實際上可能是最簡單)。使用TextBlock的頭 - 這將阻止使用的快捷鍵:

<Expander IsExpanded="False"> 
    <Expander.Header> 
     <TextBlock Text="{Binding Name}" /> 
    </Expander.Header> 
</Expander> 

相關問題

+0

非常感謝您的詳細解答!最後,我選擇了簡單的方式,它的工作。 – Yogevnn