2015-02-12 135 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>