2016-04-30 60 views
0

当鼠标悬停在图像上时,我想在Silverlight的工具提示中显示复选框列表。 数据是字符串属性的列表。 问题:复选框文本内容消失,只显示复选框。 如何显示文本框及其文本内容?谢谢。Silverlight中复选框列表的工具提示

Tooltip display

<ToolTipService.ToolTip > 
      <ToolTip d:DataContext="{d:DesignInstance Type=local:Data}"> 
        <ListBox x:Name="LstTemp"> 

        <!--<ListBox.ItemContainerStyle> 
         <Style TargetType="ListBoxItem"> 
          <Setter Property="HorizontalAlignment" Value="{Binding Input}"/> 
         </Style> 
        </ListBox.ItemContainerStyle>--> 

        <ListBox.ItemTemplate> 
         <DataTemplate> 
          <CheckBox IsChecked="true" IsEnabled="False" Content="{Binding Input}" /> 
         </DataTemplate> 
        </ListBox.ItemTemplate> 
       </ListBox> 
      </ToolTip> 
</ToolTipService.ToolTip> 
    </Image> 
</Grid> 

背后

Public Class Data 
    Public Property Data1 As String 
    Public Property Data2 As String 
    Public Property Input As New List(Of String) 
End Class 
+0

你能真正互动与东西在工具提示?这不是我记得的。另外,为什么你在'ListBox'中使用'CheckBox'? 'ListBox'是一个交互容器,'CheckBox'是一个交互项。 ItemsControl本身会更好,容器不会干扰物品。 – John

+0

在XAML代码的注释部分,我从字符串属性列表中获取包含文本的项目,但未选中复选框。有了复选框部分,我可以看到复选框,但不显示复选框的文本(内容)。 –

回答

0

代码中,我找到了解决办法,这里是复选框的工具提示中的动态列表代码

  <Image Height="114" HorizontalAlignment="Left" Margin="129,48,0,0" Name="Image1" Stretch="Fill" VerticalAlignment="Top" Width="170" Source="/Tooltip1;component/Images/Desert.jpg" > 

<ToolTipService.ToolTip > 
      <ToolTip d:DataContext="{d:DesignInstance Type=local:Data}"> 
       <ListBox x:Name="LstTemp"> 
        <ListBox.ItemContainerStyle> 

          <Style TargetType="ListBoxItem"> 
           <Setter Property="Template"> 
            <Setter.Value> 
             <ControlTemplate TargetType="ListBoxItem"> 
              <Grid Margin="2"> 
               <Grid.ColumnDefinitions> 
                <ColumnDefinition Width="Auto" /> 
                <ColumnDefinition /> 
               </Grid.ColumnDefinitions> 
               <CheckBox IsChecked="true" IsEnabled="false"/> 
               <ContentPresenter 
           Grid.Column="1" 
           Margin="2,0,0,0" /> 
              </Grid> 
             </ControlTemplate> 
            </Setter.Value> 
           </Setter> 
          </Style> 

        </ListBox.ItemContainerStyle> 
       </ListBox> 
      </ToolTip> 
</ToolTipService.ToolTip> 
    </Image> 
相关问题