2015-02-12 100 views
0

我需要的是,当鼠标每个listviewitem显示每个工具提示中的所有数据。ListViewItem工具提示WPF

这是我viewmdel

... 
... 
using GalaSoft.MvvmLight; 
using GalaSoft.MvvmLight.CommandWpf; 
... 
... 

private ObservableCollection<Articulo> _articulos; 

private Articulo _articuloSeleccionado; 

     public ObservableCollection<Articulo> Articulos 
     { 
      get { return _articulos; } 
      set 
      { 
       _articulos = value; 
       RaisePropertyChanged(); 
      } 
     } 

     public Articulo ArticuloSeleccionado 
     { 
      get { return _articuloSeleccionado; } 
      set 
      { 
       _articuloSeleccionado = value; 
       RaisePropertyChanged(); 
      } 
     } 

我.xalm

  <ListView Name="lvResultado" 
         ItemsSource="{Binding Articulos}" 
         SelectedItem="{Binding ArticuloSeleccionado}"> 
       <ListView.ItemContainerStyle> 
        <Style TargetType="ListViewItem"> 
         <Setter Property="HorizontalContentAlignment" Value="Center"/> 
        </Style> 
       </ListView.ItemContainerStyle> 
       <ListView.View> 
        <GridView> 
         <GridViewColumn Header="Código de barras" Width="200" DisplayMemberBinding="{Binding CodigoDeBarras}"/> 
         <GridViewColumn Header="Descripción" Width="250" DisplayMemberBinding="{Binding Descripcion}"/> 
        </GridView> 
       </ListView.View> 
      </ListView> 

谢谢你的帮助的一部分。我尝试了几件事,但没有得到好的结果。

+0

在网格视图中有多个列。您是否想要查看整行或每个单元格的工具提示? – dymanoid 2015-02-12 08:21:40

+0

你好!该列表视图仅显示文章类的两个属性。我想添加一个工具提示来显示整行的所有属性。 – avechuche 2015-02-12 08:46:38

回答

3

您可以定义一个ItemContainerStyle来设置工具提示模板和内容。

查看下面的示例,在此我定义一个UniformGrid以在一列中显示多个文本行。您可以随意设置您的工具提示。您仍然需要告诉视图哪些数据属性需要在工具提示中显示。

<ListView ItemsSource="{Binding Articulos}"> 
    <ListView.ItemContainerStyle> 
    <Style TargetType="{x:Type ListViewItem}"> 
     <Setter Property="ToolTip"> 
     <Setter.Value> 
      <UniformGrid Columns="1"> 
      <TextBlock Text="{Binding CodigoDeBarras}"/> 
      <TextBlock Text="{Binding Descripcion}"/> 
      <TextBlock Text="{Binding AnyOtherProperty}"/> 
      </UniformGrid> 
     </Setter.Value> 
     </Setter> 
    </Style> 
    </ListView.ItemContainerStyle> 
</ListView>