如何在wpf中使用gridview获取列表中的选定行 [英] How to Get selected row in list with gridview in wpf
本文介绍了如何在wpf中使用gridview获取列表中的选定行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
HI全部,
我有网格列表,它有删除列,我想要选中的行将被删除,为此如何获取选择行可以你指导我
HI All ,
I have list with grid , It having Delete column ,I want to selected row will be deleted , for that how to get select row can u guide me
<ListView Name="lstSellingCurrency" SelectedItem="{Binding Path=Sno}" ItemsSource="{Binding}">
<ListView.View>
<GridView>
<GridViewColumn Header="S#" DisplayMemberBinding="{Binding Sno}" Width="30"/>
<GridViewColumn Header="Enter Date" DisplayMemberBinding="{Binding EnterDate}" Width="78"/>
<GridViewColumn Header="Record Date" DisplayMemberBinding="{Binding RecordDate}" Width="70"/>
<GridViewColumn Header="Recieved Usd $" DisplayMemberBinding="{Binding PaidUsd}" Width="90"/>
<GridViewColumn Header="Paid" DisplayMemberBinding="{Binding Path=PaidRate}" Width="60"/>
<GridViewColumn Header="Rate" DisplayMemberBinding="{Binding Recievedrupees}" Width="70">
</GridViewColumn>
<GridViewColumn Header="Delete" Width="45">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Button Click="Button_Click_4">
<StackPanel>
<Image Source="G:\\WpfApplication11\\WpfApplication11\\Images\\images.jpg" Height="35" />
</StackPanel>
</Button>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
推荐答案
DisplayMemberBinding = {Binding PaidUsd} 宽度 = 90 / >
< GridViewColumn 标题 = 付费 DisplayMemberBinding = {Binding Path = PaidRate} 宽度 = 60 / >
< GridViewColumn 标题 = 评分 DisplayMemberBinding = {Binding Recievedrupees} 宽度 = 70 >
< / GridViewColumn >
< GridViewColumn 标题 = 删除 宽度 = 45 >
< GridViewColumn.CellTemplate >
< DataTemplate < span class =code-keyword>>
< 按钮 点击 = Button_Click_4 >
< StackPanel >
< 图像 来源 = G:\\WpfApplication11 \\WpfApplication11 \\ Images \ images.jpg 高度 = 35 < span class =code-keyword> / >
< / StackPanel >
< /按钮 >
< / DataTemplate >
< / GridViewColumn.CellTemplate >
< / GridViewColumn >
< / GridView >
< / ListView.View >
< / ListView >
" DisplayMemberBinding="{Binding PaidUsd}" Width="90"/> <GridViewColumn Header="Paid" DisplayMemberBinding="{Binding Path=PaidRate}" Width="60"/> <GridViewColumn Header="Rate" DisplayMemberBinding="{Binding Recievedrupees}" Width="70"> </GridViewColumn> <GridViewColumn Header="Delete" Width="45"> <GridViewColumn.CellTemplate> <DataTemplate> <Button Click="Button_Click_4"> <StackPanel> <Image Source="G:\\WpfApplication11\\WpfApplication11\\Images\\images.jpg" Height="35" /> </StackPanel> </Button> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View> </ListView>
您好,
让我们说你有一个ViewModel如下所示:
Hello,
Lets say you have a ViewModel that look like this:
public class ViewModel : NotifyPropertyChanged
{
public string Header { get; set; }
private bool _isSelected = false;
public bool IsSelected { get { return _isSelected; } set { _isSelected = value; NotifyOfPropertyChanged(() => IsSelected); } }
}
并将其放在列表视图中:
And put it in list view:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Button Click="Button_Click" Content="CheckSelection" />
<ListView ItemsSource="{Binding}" Grid.Row="1">
<ListView.Resources>
<Style TargetType="ListViewItem" >
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
</Style>
</ListView.Resources>
<ListView.View>
<GridView>
<GridViewColumn Header="Header" DisplayMemberBinding="{Binding Header}" />
</GridView>
</ListView.View>
</ListView>
</Grid>
然后您可以返回选择使用视图模型的IsSelected属性编辑项目。
You can then return selected item using view model's IsSelected property.
private void Button_Click(object sender, RoutedEventArgs e)
{
int ctx = 0;
foreach (var vm in ItemList)
if (vm.IsSelected)
ctx++;
MessageBox.Show(ctx.ToString() + " Selected.");
}
问候
Joseph Leung
Regards
Joseph Leung
这篇关于如何在wpf中使用gridview获取列表中的选定行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文