我有一个清单箱,有多个项目。 当每件物品被双重点击时,用户可以选择贴现(项目文本)。 现在,一旦更新该项目,我列入清单的项目就没有更新。
第一个窗口(有一个有箱子)位于主妇dow。 Xaml文档和第二扇窗位于EditTaskView.xaml(其中一人可以ed上物品文本)。
清单中显示物品的代码是:
主编:Windows.cs
公共静态孔观察组
public void GetTask()
{
TaskList = new ObservableCollection<Task>
{
new Task("Task1"),
new Task("Task2"),
new Task("Task3"),
new Task("Task4")
};
lstBxTask.ItemsSource = TaskList;
}
private void lstBxTask_MouseDoubleClick(object sender, MouseButtonEventArgs e) {
var selectedTask = (Task)lstBxTask.SelectedItem;
EditTask.txtBxEditedText.Text = selectedTask.Taskname;
EditTask.PreviousTaskText = selectedTask.Taskname;
EditTask.Visibility = Visibility.Visible;
}
显示清单的xaml代码:
<ListBox x:Name="lstBxTask" Style="{StaticResource ListBoxItems}" MouseDoubleClick="lstBxTask_MouseDoubleClick">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Rectangle Style="{StaticResource LineBetweenListBox}"/>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Taskname}" Style="{StaticResource TextInListBox}"/>
<Button Name="btnDelete" Style="{StaticResource DeleteButton}" Click="btnDelete_Click"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<ToDoTask:EditTaskView x:Name="EditTask" Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="2" Visibility="Collapsed"/>
Save button in TaskEditView.xaml do this:
public string PreviousTaskText { get; set; }
private void btnSaveEditedText_Click(object sender, RoutedEventArgs e)
{
foreach (var t in MainWindow.TaskList)
{
if (t.Taskname == PreviousTaskText)
{
t.Taskname = txtBxEditedText.Text;
}
}
Visibility = Visibility.Collapsed;
}
工作队是可观察的Collection,但一旦你更新了该调查股的更新价值。 但似乎没有这样做。
什么是失踪的?