我對C#中綁定的想法有點新。我目前有一個正在使用MVVM的應用程序。說我有,例如,一個列表,像這樣:更新來自控件的數據源
List<string> Items = new List<string>()
{
"Item1",
"Item2",
"Item3",
}
綁定到這個列表是三個文本框,如下所示:
在XAML:
<TextBox Name="TextBox1" text="{Binding TextSource1 Mode=TwoWay}">
<TextBox Name="TextBox2" text="{Binding TextSource2 Mode=TwoWay}">
<TextBox Name="TextBox3" text="{Binding TextSource3 Mpde=TwoWay}">
並在代碼:
Public string TextSource1
{
get { return Items[0]; }
set { Items[0] = value; }
}
Public string TextSource2
{
get { return Items[1]; }
set { Items[1] = value; }
}
Public string TextSource3
{
get { return Items[2]; }
set { Items[2] = value; }
}
說第一個文本框中顯示的值當前是「Item1」,因爲它在列表中。用戶從此處將其更改爲「Item4」。我將如何更新該列表?如果它被設置爲TwoWay,它會自動更新嗎?
我在代碼中知道,如果我是在列表中更改值,說:
Items[2] = "Item4";
我可以通過調用
RaisePropertyChanged("TextSource3");
更新文本框但是,這不是太大的幫助我目前。項目以ObserableCollection<String>
變化
對不起,但是什麼問題? – Bolu
@Bolu你讀過整件事情嗎?我問道:「假設第一個文本框中顯示的值當前是」Item1「,就像它在列表中一樣,從這裏用戶將其更改爲」Item4「。我將如何更新該列表?如果它設置爲TwoWay,它會自動更新嗎?「 – DanteTheEgregore
您需要在屬性集中提升您的」RaisePropertyChanged「事件 –