2014-12-19 52 views
0

我遇到了驗證文本框時顯示的WPF工具提示問題。顯示在鼠標懸停上的工具提示看起來像一個大矩形,不包裝文本。我正在使用這種風格:WPF工具提示尺寸不適合內容

 <Style TargetType="TextBox"> 
      <Style.Triggers> 
       <Trigger Property="Validation.HasError" Value="True"> 
        <Setter Property="ToolTip" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, 
          Path=(Validation.Errors)[0].ErrorContent}"/> 
        <Setter Property="TextBox.Background" Value="Red" /> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 

有什麼建議嗎?謝謝。

回答

0

您可以創建工具提示的樣式,並使用TextBlock添加controltemplate。在TextBlock中進行文本編輯。唯一的是你可能需要設置MaxWidth的工具提示

<Style TargetType="ToolTip"> 
      <Setter Property="MaxWidth" Value="300" /> 
      <Setter Property="ContentTemplate"> 
       <Setter.Value> 
        <DataTemplate> 
         <ContentPresenter Content="{TemplateBinding Content}" > 
          <ContentPresenter.Resources> 
           <Style TargetType="{x:Type TextBlock}"> 
            <Setter Property="TextWrapping" Value="Wrap" /> 
           </Style> 
          </ContentPresenter.Resources> 
         </ContentPresenter> 
        </DataTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style> 
+0

謝謝。是的,我手動設置了寬度,但不能將它綁定到TextBlock的高度?如果我沒有弄錯,工具提示尺寸是否應該自動執行? – user2043688

+0

在WPF中,如果我們沒有提到任何寬度或高度的文本包裝它不可能。滾動條也一樣。 –

+0

我看到這個博客,看到沒有設置樣式,工具提示是好的。這是怎麼回事? http://www.c-sharpcorner.com/UploadFile/princy.scorpin/data-validation-in-wpf-using-idataerrorinfo-and-displaying-t/ – user2043688