C# wpf listview 如何得到按钮所在行?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# wpf listview 如何得到按钮所在行?相关的知识,希望对你有一定的参考价值。
listview 有两列.一列是内容.一列是删除按钮.
点删除按钮时就删除这个按钮所在的行.
C# code
<ListView> <ListView.ItemTemplate> <DataTemplate> <WrapPanel> <TextBlock Text="Binding Path=w2" MinWidth="180" /> <Button Content="删除" MinWidth="80" Click="Button_Click" /> </WrapPanel> </DataTemplate> </ListView.ItemTemplate> </ListView>
效果如:
a 删除
b 删除
c 删除
现在问题是删除按钮是想直接点按钮就删除.这一行是没有选中的.
所以listView1.SelectedItem是空.
如何写这个Button_Click?
或者能把把该项的数据放进去Button.Tag也可以.感谢
问题已解决.送分了
C# Wpf 如何使用其中的按钮更改 Listviewitem 的高度?
【中文标题】C# Wpf 如何使用其中的按钮更改 Listviewitem 的高度?【英文标题】:C# Wpf How to Change Listviewitem's Height Using a Button in it? 【发布时间】:2014-12-09 23:11:43 【问题描述】:我的列表视图项目中包含 1 个按钮。 Listview 项的默认高度为 60。
当我单击 listview 项目的按钮时,该行(包含单击的按钮)的高度应更改为 100。当我再次单击该按钮时,行的高度应更改回 60。
我真的不知道如何实现这个。
当我单击 Row1 的详细信息按钮时,Row1 的高度应更改为 100。如果我再次单击它,它的高度应更改回 60。
我正在向这样的列表视图项目添加按钮:
<GridViewColumn >
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<ButtonName="DetailsButton"Content="Details"FontWeight="Bold" HorizontalAlignment="Left" Margin="520,35,0,0" VerticalAlignment="Top" Width="75" Height="25">
</Button>
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
【问题讨论】:
应该使用ToggleButton
,然后你可以在togglebutton的Checked状态改变时切换行高(通过绑定)
如何填充列表视图?您是使用数据绑定(将 ListView 的 ItemsSource 绑定到数据源),还是在 for 循环中一一添加行?
我正在使用数据绑定来填充 Listview。
【参考方案1】:
你可以使用 DataTemplate Triggers
来达到同样的效果
样本
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<ToggleButton Name="DetailsButton"
Content="Details"
FontWeight="Bold"
HorizontalAlignment="Left"
Margin="520,35,0,0"
VerticalAlignment="Top"
Width="75"
Height="25">
</ToggleButton>
</Grid>
<DataTemplate.Triggers>
<Trigger SourceName="DetailsButton"
Property="IsChecked"
Value="true">
<Setter Property="Height"
Value="100" />
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
我已将Button
更改为ToggleButton
,因此它可以有两种状态并且还可以显示清晰的指示。
在触发器中,当检查按钮时,我已将高度设置为100。一旦条件变为假,它将被恢复
看看这是不是你要找的。p>
【讨论】:
比我的方法更好,纯 XAML。以上是关于C# wpf listview 如何得到按钮所在行?的主要内容,如果未能解决你的问题,请参考以下文章