1

在下面有一个作者类

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

List<Author>并通过 DataTemplate 对 Listbox 进行数据绑定,如下所示

<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 回答