这应该很容易,我只想在用户向我的可观测集合添加内容时更新列表视图中的内容。
我不明白为什么我不能让它工作:
XAML
<Window x:Class="MyStuff.WPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="486" Width="540" WindowStyle="SingleBorderWindow" ResizeMode="NoResize" >
<Grid>
<Menu IsMainMenu="True" VerticalAlignment="Top" HorizontalAlignment="Stretch" FlowDirection="LeftToRight">
<MenuItem Header="File" >
<MenuItem Header="Open File..">
</MenuItem>
<MenuItem Header="Exit">
</MenuItem>
</MenuItem>
</Menu>
<TextBox Height="36" HorizontalAlignment="Left" Margin="12,27,0,0" Name="textBoxSearchTerm" VerticalAlignment="Top" Width="414" FontSize="24" MaxLength="80" AcceptsReturn="False" Background="#FFFFFFE8" Text="asdfasdf" FontWeight="Bold" FontFamily="Calibri" FontStretch="Normal" />
<Button Content="Add" Height="36" HorizontalAlignment="Left" Margin="435,27,0,0" VerticalAlignment="Top" Width="68" FontSize="20" FontWeight="Normal" FontFamily="Calibri" Click="AddSearchTerm_Click" />
<ListView Height="338" HorizontalAlignment="Left" Margin="12,97,0,0" Name="listView1" VerticalAlignment="Top" Width="261" ItemsSource="{Binding SearchTerms}">
<ListView.View>
<GridView>
<GridViewColumn Width="120" Header="Search Term" DisplayMemberBinding="{Binding}" />
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>
代码后台
public partial class MainWindow : Window
{
public ObservableCollection<string> searchItems = new ObservableCollection<string>();
public MainWindow()
{
InitializeComponent();
}
// DEFINE A PROPERTY..
public ObservableCollection<string> SearchItems
{
get { return searchItems; }
}
private void AddSearchTerm_Click(object sender, RoutedEventArgs e)
{
searchItems.Add(textBoxSearchTerm.Text);
}
}