wpf listview问题。给listview的每一行都加个button,button绑定该行。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wpf listview问题。给listview的每一行都加个button,button绑定该行。相关的知识,希望对你有一定的参考价值。
给listview的每一行都加个button,在不选中此行,点击button时,button的对象是空的,怎么给button绑定此行对象?
1.我们可以用数据模版实现添加按钮
<ListView.View>
<GridView>
<GridViewColumn Header="Index" DisplayMemberBinding="Binding Path=Index" />
<GridViewColumn Header="Name" DisplayMemberBinding="Binding Path=Name" />
<GridViewColumn Header="Info">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Button Width="30" Content="..." Click="BtnInfo_Click" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
2.可以用 BindingList<Player(这个是您要绑定的对象)> (可自己选择其它集合)集合做为数据源绑定数据
Liv.ItemsSource = _list;3.点击按钮时 通过按钮的 DataContent 获取绑定的对象
var btn = sender as Button;
var player = btn.DataContext as Player;
参考技术A 你是想触发点击时间吗setonitemclicklistener 参考技术B 你是说给listview的button设置监听?
WPF ListView 居中显示
原文:WPF ListView 居中显示
今天遇到的问题:
方法1:设置GridViewColumn的ActualWidth
<ListView >
<ListView.View>
<GridView >
<GridViewColumn Header="名称" Width="200" x:Name="column">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" TextAlignment="Center" MinWidth="{Binding Path=ActualWidth,ElementName=column}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="接收" Width="120" x:Name="sss">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Border MinWidth="{Binding Path=ActualWidth,ElementName=sss}">
<CheckBox IsChecked="{Binding IsReceive}" HorizontalAlignment="Center"/>
</Border>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
注意修改CheckBox居中的时候,需要把他套在Border里,直接写在CheckBox上话没效果。
<Style x:Key="ListViewItemStyle" TargetType="{x:Type ListViewItem}">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
再修改需要居中的控件HorizontalAlignment=“Center”
<ListView ItemContainerStyle="{DynamicResource ListViewItemStyle}">
<ListView.View>
<GridView >
<GridViewColumn Header="名称" Width="200">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="接收" Width="120">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsReceive}" HorizontalAlignment="Center"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="拒绝" Width="120" >
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsRefuse}" HorizontalAlignment="Center"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
以上是关于wpf listview问题。给listview的每一行都加个button,button绑定该行。的主要内容,如果未能解决你的问题,请参考以下文章
c# WPF listview的一列里面放着combobox 我在后台给combobox加了几个item,现在不显示。
WPF c# 界面上有3个radiobutton和3个listview 选择不同的radiobutton出现不同的listview