2016-04-30 3 views
0

Je souhaite afficher une liste de cases à cocher dans une info-bulle sur Silverlight lorsque la souris survole une image. Les données sont une liste de propriétés de chaîne. Le problème: Le contenu du texte de la case à cocher disparaît, seules les cases cochées s'affichent. Comment montrer à la fois la boîte et son contenu de texte? Merci.Info-bulle d'une liste de cases à cocher dans 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> 

Le code derrière

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

Pouvez-vous réellement interagir avec des trucs dans les infobulles? Ce n'est pas comme ça que je m'en souviens. Aussi, pourquoi utilisez-vous 'CheckBox'es dans un' ListBox'? 'ListBox' est un conteneur interactif,' CheckBox' est un élément interactif. 'ItemsControl' lui-même serait préférable pour que le conteneur n'interfère pas avec l'élément. – John

+0

Dans la section commentée du code XAML, j'obtiens les éléments avec leur texte de la liste des propriétés de la chaîne, mais pas la case à cocher. Avec la case à cocher je reçois la case à cocher mais pas le texte de la case à cocher (le contenu) voir photo. –

Répondre

0

J'ai trouvé la solution, voici le code pour une liste dynamique des cases à cocher dans une infobulle

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