首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET Framework >

关于ListView的ItemContainerStyle的样式有关问题

2012-04-11 
关于ListView的ItemContainerStyle的样式问题我的ListView的的ItemSource是通过MVVM方式绑定的(ListView

关于ListView的ItemContainerStyle的样式问题
我的ListView的的ItemSource是通过MVVM方式绑定的(<ListView Name="ListViewEvent" ItemsSource="{Binding RecvEventViewModelCollection}">),这样每个GridColumn绑定源中的每个项(DisplayMemberBinding="{Binding Path=RecvTime}") ,现在的问题是,我想重新实现每个ListViewItem的样式,
  <Style x:Key="Custom1ListViewItemStyle" TargetType="{x:Type ListViewItem}">
  <Style.Resources>
  <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Yellow"/>
  <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color=" Red"/>
  </Style.Resources>
  <Setter Property="Panel.Background" Value="LightBlue"/>
  <Setter Property="Foreground" Value="White"></Setter>
  <Setter Property="Focusable" Value="False"></Setter>
  <Setter Property="Control.Template">
  <Setter.Value>
  <ControlTemplate TargetType="ListViewItem">
  <Border BorderThickness="{TemplateBinding Border.BorderThickness}" 
  BorderBrush="{TemplateBinding Border.BorderBrush}" 
  Background="{TemplateBinding Panel.Background}" 
  Name="Bd" 
  SnapsToDevicePixels="True">
  <ContentPresenter/>
  </Border>
  <ControlTemplate.Triggers>
  <Trigger Property="Selector.IsSelected" Value="True">
  <Setter Property="Panel.Background" TargetName="Bd">
  <Setter.Value>
  <DynamicResource ResourceKey="{x:Static SystemColors.HighlightBrushKey}" />
  </Setter.Value>
  </Setter>
  <Setter Property="TextElement.Foreground">
  <Setter.Value>
  <DynamicResource ResourceKey="{x:Static SystemColors.HighlightTextBrushKey}" />
  </Setter.Value>
  </Setter>
  </Trigger>
  <MultiTrigger>
  <MultiTrigger.Conditions>
  <Condition Property="Selector.IsSelected" Value="True"/>
  <Condition Property="Selector.IsSelectionActive" Value="False"/>
  </MultiTrigger.Conditions>
  <Setter Property="Panel.Background" TargetName="Bd">
  <Setter.Value>
  <DynamicResource ResourceKey="{x:Static SystemColors.ControlBrushKey}" />
  </Setter.Value>
  </Setter>
  <Setter Property="TextElement.Foreground">
  <Setter.Value>


  <DynamicResource ResourceKey="{x:Static SystemColors.ControlTextBrushKey}" />
  </Setter.Value>
  </Setter>
  </MultiTrigger>
  <Trigger Property="UIElement.IsEnabled" Value="False">
  <Setter Property="TextElement.Foreground">
  <Setter.Value>
  <DynamicResource ResourceKey="{x:Static SystemColors.GrayTextBrushKey}" />
  </Setter.Value>
  </Setter>
  </Trigger>
  <Trigger Property="UIElement.IsMouseOver" Value="True">
  <Setter Property="Panel.Background" TargetName="Bd" Value="Blue">
  </Setter>
  </Trigger>
  </ControlTemplate.Triggers>
  </ControlTemplate>
  </Setter.Value> 
  </Setter>-->
  </Style>
红色的部分不知道该怎么写,如果我只放个<ContentPresenter/>,在listview中就无法显示四列的值(比如“时间”、“名称”、“事件”、“描述”),而只显示了RecvEventViewModelCollection这个类名,所以想请大大们看看,我<ContentPresenter/>这里该怎么写,刚学WPF,请大大们不吝指教啊!先谢过了!

[解决办法]
参考一下这个例子:
http://msdn.microsoft.com/zh-cn/library/ms743659.aspx

热点排行