我是WPF的新手。WPF Combobox在更改集合時沒有更新
我想將字符串的集合綁定到組合框。
public ObservableCollection<string> ListString {get; set;}
綁定和DataContext的是如下
<Window
x:Class="Assignment2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:validators="clr-namespace:Assignment2"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525"
DataContext="{Binding RelativeSource={RelativeSource Self}, Path=.}">
<Grid>
<ComboBox Height="23" HorizontalAlignment="Left" Margin="109,103,0,0" Name="StringComboBox" VerticalAlignment="Top" Width="120" SelectionChanged="StringComboBox_SelectionChanged">
<ComboBox.ItemsSource>
<Binding Path="ListString" BindsDirectlyToSource="True" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged"></Binding>
</ComboBox.ItemsSource>
</ComboBox>
我才知道,這是發生,因爲集合更新設置。如果我寫
public MainWindow()
{
InputString = "";
ListString = new ObservableCollection<string>();
ListString.Add("AAA");
ListString.Add("BBB");
ListString.Add("CCC");
InitializeComponent();
}
它的工作,但如果我在上面第一行移動InitializeComponent()
如下,這是行不通的。
public MainWindow()
{
InitializeComponent();
InputString = "";
ListString = new ObservableCollection<string>();
ListString.Add("AAA");
ListString.Add("BBB");
ListString.Add("CCC");
}
我應該怎麼辦?
一個工作,另一個不工作。我會選擇適用的選項。 – Paparazzi
@Blam我想推廣這個問題來解決我的其他問題,其中列表來自WCF服務。你仍然建議去選擇適用的選項? –