1

以下の著者クラスを持つ

Public Class Author
{
  Public String Name{get;set;}
  Public String Description{get;set;}
  Public int NumberOfBooks{get;set;}
}

List<Author>以下のようなDataTemplateを介したリストボックスへのデータバインディング

<ListBox ItemsSource="{Binding Authors}" BorderThickness="0">
                            <ListBox.ItemTemplate>
                                <DataTemplate>
                                    <StackPanel ToolTipService.ToolTip="{Binding Description}" ToolTipService.Placement="Right">
                                        <TextBlock Text="{Binding Name}"></TextBlock>
                                    </StackPanel>
                                </DataTemplate>
                            </ListBox.ItemTemplate>
                        </ListBox>

以下のようなXaml記述型宣言型バインディングを使用してツールチップを生成するにはどうすればよいですか?

AuthorName ( NumberOfBooks)
Description
4

1 に答える 1

1

あなたは簡単に行くことができます。

<TextBlock Text="{Binding Name}">
    <ToolTipService.ToolTip>
     <ToolTip>
      <StackPanel>
        <TextBlock>
           <Run Text="{Binding AuthorName}"/>
           <Run Text=" "/>
           <Run Text="{Binding NumberOfBooks}"/>
        </TextBlock>
        <TextBlock MaxWidth="150" 
               Text="{Binding Description}" TextWrapping="Wrap"/>
        </StackPanel>
     </ToolTip>
    </ToolTipService.ToolTip>
</TextBlock>

または空想を取得します。

<TextBlock Text="{Binding Name}">
    <ToolTipService.ToolTip>
      <ToolTip>
        <StackPanel>
            <Border Background="CadetBlue" Margin="5" Padding="5">
                <TextBlock Text="{Binding AuthorName}" HorizontalAlignment="Center"/>
            </Border>
            <TextBlock Text="{Binding NumberOfBooks, StringFormat='No. of Books: \{0\}'}"/>
            <TextBlock MaxWidth="150" 
               Text="{Binding Description}" TextWrapping="Wrap"/>
        </StackPanel>
      </ToolTip>
    </ToolTipService.ToolTip>
</TextBlock>

お役に立てれば :)

于 2012-08-08T14:41:27.343 に答える