2015-03-03 37 views
-1

我需要在文本框文本被修剪時顯示文本框的工具提示。我使用下面的轉換器修剪了文本框文本。TextTrimming到wpf文本框的可見性轉換器

public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
{ 
    string text = values[0].ToString(); 
    double width = Double.Parse(values[1].ToString());   
    TextBlock tb = new TextBlock(); 
    StringBuilder sb = new StringBuilder(); 
    foreach (char c in text) 
    { 
     sb.Append(c); 
     tb.Text = sb.ToString(); 
     tb.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity)); 
     if (width < tb.DesiredSize.Width + 170) 
     { 
      sb.Append("..."); 
      break; 
      } 
     } 
     return sb.ToString(); 

} 

在此先感謝。

+2

問題是什麼? – Jens 2015-03-03 13:08:19

+0

當文本被修剪時,我需要爲wpf文本框啓用工具提示。 – 2015-03-03 13:22:48

+1

我會讓另一個轉換器設置文本框的工具提示。 – Jens 2015-03-03 13:25:13

回答

0

只需製作另一個返回布爾值的轉換器,如果文本必須被修剪,則返回true;否則返回false,具體取決於您在發佈的轉換器中的規格。 (或者你想綁定的任何類型的屬性而不是布爾值,不知道你想在這裏設置什麼)