【问题标题】:Databinding Class to Silverlight controls tooltip数据绑定类到 Silverlight 控件工具提示
【发布时间】:2012-08-08 10:29:30
【问题描述】:

下面有一个作者类

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

并通过 DataTemplate 将 List<Author> 数据绑定到 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

【问题讨论】:

    标签: silverlight class xaml data-binding silverlight-4.0


    【解决方案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>
    

    希望这会有所帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多