我有一個文本框,其中的文本內容具有數據綁定到視圖模型。 我需要將不同的字符串從TextBox保存到一個集合,但似乎總是將最後一個當前的TextBox文本複製到所有項目。雖然每次我輸入不同的文字。將項目添加到ObservableCollection
這裏是XAML代碼:
<TextBox HorizontalAlignment="Left"
Background="Transparent"
Margin="0,81,0,0"
TextWrapping="Wrap"
Text="{Binding Note.NoteTitle, Mode=TwoWay}"
VerticalAlignment="Top"
Height="50" Width="380"
Foreground="#FFB0AEAE" FontSize="26"/>
,並在視圖模型,我有:
public Note Note
{
get { return _note; }
set { Set(() => Note, ref _note, value); }
}
private ObservableCollection<Note> _notes;
public async void AddNote(Note note)
{
System.Diagnostics.Debug.WriteLine("AddNote Called...");
_notes.Add(note);
}
有一個在我的網頁一個按鈕,當點擊它,它會調用AddNote。
有沒有解決方案,我可以將不同的項目保存到_notes?
編輯: 更多信息:AddNote原因是異步的,我需要內部調用另一個任務保存記事本的數據:
private async Task saveNoteDataAsync()
{
var jsonSerializer = new DataContractJsonSerializer(typeof(ObservableCollection<Note>));
using (var stream = await ApplicationData.Current.LocalFolder.OpenStreamForWriteAsync(fileName,
CreationCollisionOption.ReplaceExisting))
{
jsonSerializer.WriteObject(stream, _notes);
}
}
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。另見[幫助/標記]。 –
爲什麼你的方法AddNote是「異步」? –