2017-11-07 9 views
1

データグリッドの最初の列に、ヘッダーとイメージを表示する必要があります。また、イメージには動的テキストを含むツールチップが必要です。テキストと画像の両方を表示するには、次のコードに示すようにHeaderTemplateを使用しました。しかし、私はToolTipMessageをTextBlockにバインドするのに苦労しています。私もProxyElementを使用しましたが、それでも動作しません。どんな助けでも大歓迎です。DataGridヘッダーテンプレート内にツールチップテキストをバインドする

<Grid> 
<Grid.Resources> 
    <FrameworkElement 
     x:key"DataContextProxyElement" 
     DataContext={Binding} 
     Visibility=Collapsed/> 
</Grid.Resources> 
<Border 
    Grid.Row="0" 
    Grid.Column="0" 
    Style="{StaticResource BorderStyle}" 
    Visibility="{Binding ShowBorder, Converter={StaticResource BoolToVisibilityConverter}}"> 
    <DataGrid 
     ItemsSource="{Binding GridData}" 
     Style="{StaticResource DataGridStyle}"> 
     <DataGrid.Columns> 
      <DataGridTextColumn 
       Width="*" 
       Binding="{Binding Term}" 
       ElementStyle="{StaticResource Wrap}" 
       EditingElementStyle="{StaticResource EditWrap}"> 
       <DataGridTextColumn.HeaderTemplate> 
        <DataTemplate> 
         <StackPanel Orientation="Horizontal"> 
          <TextBlock Text="Other synonyms"/> 
          <Image Source="{StaticResource InfoIcon}"> 
           <Image.ToolTip> 
            <ToolTip Style="{StaticResource PowerUserToolTip}"> 
             <TextBlock Text={Binding DataContext.ToolTipMessage, Source={StaticResource DataContextProxyElement}}/> 
            </ToolTip> 
           </Image.ToolTip> 
          </Image> 
         </StackPanel> 
        </DataTemplate> 
       </DataGridTextColumn.HeaderTemplate> 
      </DataGridTextColumn> 
     </DataGrid.Columns> 
    </DataGrid> 
</Border> 

+0

を? – mm8

+0

ToolTipMessageは、私のViewModelで定義されています。申し訳ありませんが、私は元の投稿でそれを言及するのを忘れました – KermitDFrog

答えて

1

このお試しください:ToolTipMessageプロパティが定義されている

<Image Source="{StaticResource InfoIcon}" Tag="{Binding RelativeSource={RelativeSource AncestorType=DataGrid}}"> 
    <Image.ToolTip> 
     <ToolTip Style="{StaticResource PowerUserToolTip}"> 
      <TextBlock Text="{Binding PlacementTarget.Tag.DataContext.ToolTipMessage, RelativeSource={RelativeSource AncestorType=ToolTip}}"/> 
     </ToolTip> 
    </Image.ToolTip> 
</Image> 
+0

ありがとう。あなたの答えは完璧に働きます。おかげでmm8 – KermitDFrog

関連する問題