2012-01-10 64 views
0

我想在将文本输入到文本框并单击提交后填充列表框。看起来很简单,我知道,但我是新来的数据绑定和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) 
     { 

     } 
+0

要使用填充你的'listbox'什么? – 2012-01-10 17:05:02

+0

对不起,我想在文本框中输入文本,并让用户点击Submit并填充列表框。 – Woody 2012-01-10 17:07:00

+0

填充文本框内容的列表框? – 2012-01-10 17:09:26

回答

1

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

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

例如,

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

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

在技术上,'SelectedItem.Content'属性可以存在于* runtime *,因为SelectedItem只是一个对象... – 2012-01-10 17:35:35

+0

@JohnGardner如果'accountaddTextBox'是一个'TextBox'不是'TextBoxes'不需要有一个'SelectedItem'属性 – Rachel 2012-01-10 17:36:41

+0

啊,的确如此。我从来没有想过将某些事物绑定到选定的文本框中,这是首先...... :) – 2012-01-10 18:01:11