【发布时间】:2018-03-21 16:51:44
【问题描述】:
我有这个项目,我想弄清楚如何将内容添加到列表视图,然后再删除它们。但我似乎无法让 itemsource 绑定,除非我对其进行硬编码。如何在 XAML 中执行此操作?
这会在列表视图中添加一个项目
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={Binding Item} 添加到 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; }
}
编辑 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)
{
}
}
}
【问题讨论】:
-
MVVM 在使用 WPF 尤其是 XAML 绑定时会派上用场