2016-07-04 5 views
2

次の問題があります。 DataGridTemplateColumnを持つDataGridがあり、ポップアップを使用してセルのテキストを表示したい(トリムできるので)。TextBlock Textのツールヒント(カスタムスタイル付き)を表示

は、これは私のXAMLコードです:

    <DataGridTemplateColumn> 
         <DataGridTemplateColumn.CellTemplate> 
          <DataTemplate> 
           <TextBlock 
            Text="{Binding Description}" 
            TextTrimming="CharacterEllipsis"> 
            <TextBlock.ToolTip> 
             <ToolTip Style="{StaticResource ToolTipBrowserDescription}" ToolTip="test"/> 
            </TextBlock.ToolTip> 
           </TextBlock> 
          </DataTemplate> 
         </DataGridTemplateColumn.CellTemplate> 
        </DataGridTemplateColumn> 

スタイル:

<Style TargetType="{x:Type ToolTip}" x:Key="ToolTipBrowserDescription"> 
    <Setter Property="DataContext" Value="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type ToolTip}"> 
       <Border BorderBrush="{StaticResource HT_Background_DarkGrey}" Background="{StaticResource HT_Background_LightGrey3}" BorderThickness="1"> 
        <TextBlock Text="{Binding ToolTip}" FontWeight="Bold" TextWrapping="Wrap" Margin="5" MinWidth="50" MaxWidth="{TemplateBinding MaxWidth}"/> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

tooltip1

しかし、私は、 "テスト" からヒントプロパティを設定していたときに「{バインディングの説明}ツールヒント(図)は空です。

私の解決方法は誰でもあります。私は約2時間のために立ち往生しています。

答えて

2

これはトリックを行う必要があります。

ToolTipStyle:

<Style TargetType="{x:Type ToolTip}" x:Key="ToolTipBrowserDescription"> 
      <Setter Property="Template"> 
       <Setter.Value> 
        <ControlTemplate TargetType="{x:Type ToolTip}"> 
         <Border BorderBrush="{StaticResource HT_Background_DarkGrey}" Background="{StaticResource HT_Background_LightGrey3}" BorderThickness="1"> 
        <TextBlock Text="{TemplateBinding Content}" FontWeight="Bold" TextWrapping="Wrap" Margin="5" MinWidth="50" MaxWidth="{TemplateBinding MaxWidth}"/> 
       </Border> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style> 

のTextBlock:

<TextBlock Text="{Binding Description}"> 
     <TextBlock.Style> 
      <Style TargetType="TextBlock"> 
       <Setter Property="ToolTip"> 
        <Setter.Value> 
         <ToolTip Style="{StaticResource ToolTipBrowserDescription}" Content="{Binding Description}"/> 
        </Setter.Value> 
       </Setter> 
      </Style> 
     </TextBlock.Style> 
    </TextBlock> 

テンプレート・バインドをすべき内容に、代わりにToolTip

+0

ToolTipには、どうもありがとうございました。あなたは私の一日を救った! 私は常にcontentプロパティを無視しています。だから私はこれが私のせいだと思った; o) 私のソリューションアプローチが働いている可能性/解決策があるなら、私はまだ興味がある。 –

関連する問題