我已阅读此主题:
how to delete a specific text / message showed in a ListView ?
它在winform中工作正常(我已经测试过!),但是在WPF中却无法正常工作。
我想在listview1中查找firstnametxt的文本并将其与Firstname Column项目进行比较,如果为true,则删除该项目(包含该项目的行)
但是我不知道如何在WPF中处理此问题。
我的部分代码是这样的:
XAML:
<ListView Name="listView1 HorizontalAlignment="Left" VerticalAlignment="Top" />
<ListView.View>
<GridView>
<GridViewColumn Header="FirstName" DisplayMemberBinding="{Binding Path=FirstName}" />
<GridViewColumn Header="LastName" DisplayMemberBinding="{Binding Path=LastName}" />
</GridView>
</ListView.View>
</ListView>
<TextBox Name="firstnametxt" Height="27" HorizontalAlignment="Left" Margin="271,20,0,0" VerticalAlignment="Top" Width="181" />
<Button Content="Add" Height="38" HorizontalAlignment="Left" Margin="310,242,0,0" Name="button1" VerticalAlignment="Top" Width="74" Click="button1_Click" />
<Button Content="Find" Height="38" HorizontalAlignment="Left" Name="button2" VerticalAlignment="Top" Width="74" Click="button2_Click" />
(C#)后面的代码:
public class Familiy
{
public Familiy(string firstname, string lastname)
{
this.FirstName = firstname;
this.LastName = lastname;
}
private string firstname;
public string FirstName
{
get { return firstname; }
set { firstname = value; }
}
private string lastname;
public string LastName
{
get { return lastname; }
set { lastname = value; }
}
}
private void button1_Click(object sender, RoutedEventArgs e)
{
///////////////////////////
}
最佳答案
您将需要更改ListBox ItemSsource,无论它是ItemList,List还是其他集合,此示例使用“家庭列表”。
public partial class MainWindow : Window
{
List<Familiy> familiys = new List<Familiy>();
public MainWindow()
{
InitializeComponent();
familiys.Add( new Familiy("FirstName1", "LastName1"));
familiys.Add(new Familiy("FirstName2", "LastName2"));
familiys.Add(new Familiy("FirstName3", "LastName3"));
familiys.Add(new Familiy("FirstName4", "LastName4"));
listView1.ItemsSource = familiys;
}
private void button1_Click(object sender, RoutedEventArgs e)
{
familiys.Remove(familiys.Find(delegate(Familiy f) { return f.FirstName == firstnametxt.Text; }));
listView1.ItemsSource = "";
listView1.ItemsSource = familiys;
}
}