1

これは、コメントのある Excel セルから得られる動作です。

1) マウスをセルのどこかに置くと、コメントが黄色のツールチップのようにポップアップします。

2)マウスカーソルがセル上にある限り、コメントは無期限に表示されます

DataGridColumnHeader のみで同様の機能が必要です。

私は次のように始めました:

   <DataGridTextColumn Binding="{Binding Path=SomeProperty}">
      <DataGridTextColumn.Header>
         <TextBlock Text="MyColHeader" Background="red" >
           <TextBlock.ToolTip>
              <StackPanel Width="400">
                within stack panel make format as fancy as i like, works great;
              </StackPanel>    
           </TextBlock.ToolTip>
        </TextBlock>
      </DataGridTextColumn.Header>
   </DataGridTextColumn>

それに関する問題は、マウスが列ヘッダーのテキストの上に置かれたときにのみツールチップがポップアップすることです。つまり、私の例では、テキスト「MyColHeader」であり、セルのどこにもありません。

さらに1時間後、ポイント1)に対処するものを思いつきました:

<DataGridTextColumn
  Header="MyColHeader"
  Binding="{Binding Path=SomeProperty}">
   <DataGridTextColumn.HeaderStyle>
     <Style TargetType="{x:Type DataGridColumnHeader}">
      <Style.Triggers>
         <Trigger Property="IsMouseOver" Value="True">
         <Setter Property="ToolTip">
            <Setter.Value>
               <StackPanel Width="400">
                 make formatting as fancy as i like, works great;
              </StackPanel>
             </Setter.Value>
            </Setter>
           </Trigger>
         </Style.Triggers>
    </Style>
    </DataGridTextColumn.HeaderStyle>
</DataGridTextColumn>

残りの質問は、ポイント 2) に対処する必要があることです。つまり、カーソルが col ヘッダー上にある限り、ツールチップを無期限に表示したままにします。

4

1 に答える 1

1

ここで説明されているように、TextColumn で ToolTipService.StaysOpen を設定する必要があります: WPF ツールチップを強制的に画面に表示する

于 2010-11-10T08:38:03.927 に答える