我有这个项目,我想弄清楚如何添加到列表视图,然后能够删除它们。但我似乎不能得到itemsource绑定,除非我硬编码。我如何在XAML中执行此操作?如何在WPF中正确设置我的itemsource以显示我的ObservableCollection项目?
这增加了一个项目列表视图
public partial class MainWindow : Window
{
private ObservableCollection<myItem> Item;
const string pattern = @"((.*)) (.*) left the game";
public MainWindow()
{
InitializeComponent();
}
private void btnAppend_Click(object sender, RoutedEventArgs e)
{
Item = new ObservableCollection<myItem>() { new myItem() { Username = "Prabhat" } };
lvUsers.ItemsSource = Item;
}
}
但是,如果删除了硬编码的ItemSource它不添加它,即使我想补充的ItemSource = {结合产品}到YM XAML
<Grid>
<ListView Name="lvUsers" ItemsSource="{Binding Item}" HorizontalAlignment="Left" Height="107" Margin="10,10,0,0" VerticalAlignment="Top" Width="497">
<ListView.View>
<GridView>
<GridViewColumn Header="Name" Width="100" DisplayMemberBinding="{Binding Username}"/>
</GridView>
</ListView.View>
</ListView>
<TextBox Name="tbConent" HorizontalAlignment="Left" Height="78" Margin="10,122,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="497"/>
<Button Name="btnAppend" Click="btnAppend_Click" Content="Append" HorizontalAlignment="Left" Margin="213,220,0,0" VerticalAlignment="Top" Width="75"/>
</Grid>
编辑
类
public class myItem
{
public string Username { get; set; }
}
EDIT 2
MainWindow.xaml.cs
using System.Collections.ObjectModel;
using System.Windows;
namespace Listviewssssssssssssss
{
public partial class MainWindow : Window
{
public ObservableCollection<myItem> Item { get; private set; }
public MainWindow()
{
InitializeComponent();
}
private void btnAppend_Click(object sender, RoutedEventArgs e)
{
Item = new ObservableCollection<myItem>() { new myItem() { Username = "Prabhat" } };
lvUsers.Items.Refresh();
}
private void btnRemove_Click(object sender, RoutedEventArgs e)
{
}
}
}
可能的复制[C#从列表中填充列表视图](https://stackoverflow.com/questions/45584249/c-sharp-populating-a-listview-from-a-list) – ASh
[MVVM](https://msdn.microsoft .com/en-us/library/hh848246.aspx)在使用WPF,特别是XAML Bindi ngs –