2012-01-10 63 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