单击“提交”按钮后填充ListBox

时间:2012-01-10 16:58:38

标签: c# wpf

我希望在将文本输入文本框并单击“提交”后填充列表框。我知道这看起来很简单,但我是Data Binding和WPF的新手......

到目前为止,这是我的代码......我不知道XAML是否正确,当然我在后面的事件代码中没有任何内容......任何帮助都将不胜感激。

XAML:

<ListBox ItemsSource="{Binding ElementName=accountaddTextBox, Path=SelectedItem.Content, Mode=OneWay, UpdateSourceTrigger=Explicit}"  Height="164" HorizontalAlignment="Left" Margin="12" Name="accountListBox" VerticalAlignment="Top" Width="161" />

代码背后:

private void okBtn_Click(object sender, RoutedEventArgs e)
        {

        }

1 个答案:

答案 0 :(得分:1)

您当前的绑定告诉ListBox找到名为accountaddTextBox的对象,并绑定到其SelectedItem.Content。我假设accountaddTextBoxTextBox,而SelectedItem不是TextBox上的有效属性,因此您的绑定无效。

将ListBox绑定到位于代码隐藏或ObservableCollection<string>中的ViewModel并将您的按钮添加到该集合的新对象会好得多。由于它是ObservableCollection,因此用户界面会自动更新

例如,

<ListBox ItemsSource="{Binding SomeObservableCollection}" />

private void okBtn_Click(object sender, RoutedEventArgs e)
{
    SomeObservableCollection.Add(accountaddTextBox.Text);
}