none
ToolTip nos itens da listbox RRS feed

  • Pergunta

  • Bom dia.

    Gostaria de saber como é possível colocar tooltip em cada item da uma listbox dinamicamente. O problema que estou enfrentando é como fazer o binding da tooltip.

    O que eu fiz até agora é o seguinte:

    <ListBox.ItemContainerStyle>
       <Style TargetType="{x:Type ListBoxItem}">
          <Setter Property="ToolTip" Value="Teste"/>
       </Style>
    </ListBox.ItemContainerStyle>

    Mas como eu faço o binding da propriedade Value da tooltip?

    quinta-feira, 16 de setembro de 2010 14:37

Respostas

  • Essa sua propriedade é uma DependencyProperty, certo?

    Você pode fazer assim

    <ListBox x:Name="lst" SelectedValuePath="Id" DisplayMemberPath="Name" ItemsSource="{Binding ElementName=MyWindow, Path=List, Mode=TwoWay}">
            <ListBox.ItemContainerStyle>
              <Style TargetType="{x:Type ListBoxItem}">
                <Setter Property="ToolTip" Value="{Binding Path=Name}"/>
              </Style>
            </ListBox.ItemContainerStyle>        
          </ListBox>  
    
    e não esquece de setar a propriedade name da Window

    <Window x:Class="WpfApplication4.Window1" Name="MyWindow"...
    
    Att.
    Anderson
    quinta-feira, 16 de setembro de 2010 17:36

Todas as Respostas

  • Olá Marcelo,
    Você pode fazer da seguinte maneira

    <ListBox x:Name="lst" SelectedValuePath="Id" DisplayMemberPath="Name">
            <ListBox.ItemContainerStyle>
              <Style TargetType="{x:Type ListBoxItem}">
                <Setter Property="ToolTip" Value="{Binding Path=Name}"/>
              </Style>
            </ListBox.ItemContainerStyle>        
          </ListBox>  
    
    Onde "Name" é a propriedade do objeto que você está usando para setar o ItemsSource.

    Att.
    Anderson
    quinta-feira, 16 de setembro de 2010 16:26
  • O ItemsSource do listbox é definido assim: ItemsSource="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=NaoSelecionados, Mode=TwoWay}"

    Onde que NaoSelecionados typeof(ObservableCollection<object>) é uma propriedade do meu componente onde está o listbox. Como deveria ser o binding nessa situação?

    quinta-feira, 16 de setembro de 2010 16:56
  • Essa sua propriedade é uma DependencyProperty, certo?

    Você pode fazer assim

    <ListBox x:Name="lst" SelectedValuePath="Id" DisplayMemberPath="Name" ItemsSource="{Binding ElementName=MyWindow, Path=List, Mode=TwoWay}">
            <ListBox.ItemContainerStyle>
              <Style TargetType="{x:Type ListBoxItem}">
                <Setter Property="ToolTip" Value="{Binding Path=Name}"/>
              </Style>
            </ListBox.ItemContainerStyle>        
          </ListBox>  
    
    e não esquece de setar a propriedade name da Window

    <Window x:Class="WpfApplication4.Window1" Name="MyWindow"...
    
    Att.
    Anderson
    quinta-feira, 16 de setembro de 2010 17:36
  • Olá Anderson!  

    Quando você estiver disponível entre em contato comigo no e-mail: v-62eda@mssupport.microsoft.com

    Apenas para que possamos conversar a respeito do fórum.

    att;


    Eder Costa - LATAM Forum Support Engineer
    Microsoft Corporation
    quinta-feira, 10 de março de 2011 18:09