有人用过wpf吗,我想在ListView中实现将一条记录数据显示成两行,如下效果: ________________________________________________
名称:XXX 开始时间:2012-10-16|
结束时间:2012-10-16 状态:已开始 |
_______________________________________________|
名称:XXX 开始时间:2012-10-16|
结束时间:2012-10-16 状态:已开始 |
_______________________________________________|
名称:XXX 开始时间:2012-10-16|
结束时间:2012-10-16 状态:已开始 |
_______________________________________________|
名称:XXX 开始时间:2012-10-16|
结束时间:2012-10-16 状态:已开始 |
_______________________________________________|
如何实现?
名称:XXX 开始时间:2012-10-16|
结束时间:2012-10-16 状态:已开始 |
_______________________________________________|
名称:XXX 开始时间:2012-10-16|
结束时间:2012-10-16 状态:已开始 |
_______________________________________________|
名称:XXX 开始时间:2012-10-16|
结束时间:2012-10-16 状态:已开始 |
_______________________________________________|
名称:XXX 开始时间:2012-10-16|
结束时间:2012-10-16 状态:已开始 |
_______________________________________________|
如何实现?
<ListView x:Name="LV_Panel">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="名称:"/>
<TextBlock Text="{Binding Name}"/>
<TextBlock Text="开始时间:"/>
<TextBlock Text="{Binding StartTime}"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="结束时间:"/>
<TextBlock Text="{Binding EndTime}"/>
<TextBlock Text="状态:"/>
<TextBlock Text="{Binding Status}"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
后台给LV_Panel绑定一个对象集合list就行了LV_Panel.ItemsSouce=list;
<ItemsControl x:Name="ic_PowerPort" AlternationCount="2">
<ItemsControl.Template>
<ControlTemplate>
<ScrollViewer VirtualizingStackPanel.VirtualizationMode="Recycling"
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled">
<ItemsPresenter/>
</ScrollViewer>
</ControlTemplate>
</ItemsControl.Template>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border Margin="1" x:Name="back" Height="50">
<ToggleButton HorizontalAlignment="Stretch" MouseDoubleClick="ToggleButton_Click">
<DockPanel >
<Border BorderBrush="Black" BorderThickness="0.5" Width="40" Margin="5"> </Border>
<TextBlock Text="{Binding Name}" ToolTip="{Binding Name}" Margin="10 0 0 0" VerticalAlignment="Center" TextTrimming="WordEllipsis"/>
<Image x:Name="_img" Width="18" Height="18" Margin="10 0" MouseLeftButtonDown="DelPowerPort_Click" HorizontalAlignment="Right" Source="/Vdc3D.Coms.DModelEditor;component/Images/del.png"/>
</DockPanel> </ToggleButton>
</Border>
<DataTemplate.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Background" Value="#e9e9e9" TargetName="back"></Setter>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="#d9d9d9" TargetName="back"></Setter>
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>设置AlternationCount="2" DataTemplate.Triggers可以设置触发器 隔行变色
汗 看来你还真的是新手啊
给你写个完整的例子吧
<ListView x:Name="LV_Panel" AlternationCount="2">
<ListView.ItemTemplate>
<DataTemplate>
<Border x:Name="back" >
<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="名称:"/>
<TextBlock Text="{Binding Name}"/>
<TextBlock Text="开始时间:"/>
<TextBlock Text="{Binding StartTime}"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="结束时间:"/>
<TextBlock Text="{Binding EndTime}"/>
<TextBlock Text="状态:"/>
<TextBlock Text="{Binding Status}"/>
</StackPanel>
</StackPanel>
</Border>
<DataTemplate.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Background" Value="#e9e9e9" TargetName="back"></Setter>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="#d9d9d9" TargetName="back"></Setter>
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
可以看下我的博客
http://blog.csdn.net/lhx527099095/article/details/8084173
粘贴错了 呵呵 sorry
改了,找不到这个类型错误 1 未在类型“ListView”中找到属性“AlternationIndex”
而且我博客的那个例子也可以运行 所以不必执着具体的控件
算是我自己错误的开脱吧 哈哈
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="Background" Value="Blue"/>
<Style.Triggers>
<Trigger Property="ListBox.AlternationIndex" Value="1">
<Setter Property="Background" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<Border x:Name="back" Height="20">
<TextBlock Text="{Binding ShowText}"/>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
学习了 谢谢~~~
不过还是那句话 listview listbox都是继承于Itemscontrol的
itemscontrol用起来很灵活 所以我依旧不喜欢用listbox和listview 呵呵
谢谢各位的支持,刚学WPF,想再问下,按你给的这个代码,使用了模板列后,原本的选中行的背景色无效了<Trigger Property="IsSelected" Value="true">
<Setter Property="Background" Value="Blue"/>
</Trigger>
即以上触发的样式无效了,这个如何搞??