在我的 wpf 应用程序中,我为 ListBox 条目编写了鼠标双击事件。当我双击单个条目时,它将发布在服务器上。我的问题是,当我将任何条目发布到服务器时,我只想更改该条目的 DataTemplate。在我编写的以下代码中,它将所有条目发布到服务器。因此,请建议仅针对单个条目更改 DataTemplate 的方法。“Harvest_TimeSheetEntry”是我的 ListBox 条目。
另请参阅代码中的注释。
C#代码:
private void listBox1_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
//Submit clicked Entry
if (sender is ListBoxItem)
{
ListBoxItem item = (ListBoxItem)sender;
Harvest_TimeSheetEntry entryToPost = (Harvest_TimeSheetEntry)item.DataContext;
if (!entryToPost.isSynced)
{
//Check if something is selected in selectedClientItem and selectedProjectItem For that items
if (entryToPost.ClientNameBinding == "Select Client" || entryToPost.ProjectNameBinding == "Select Project")
System.Windows.MessageBox.Show("Please select your Project and Client");
else
{
Globals._globalController.harvestManager.postHarvestEntry(entryToPost);
System.Windows.MessageBox.Show("Entry posted");
DataTemplate tmpl = (DataTemplate)this.FindResource("DefaultDataTemplate");
listBox1.ItemTemplate = tmpl; // **Here I want to change DataTemplate for only posted entry.**
}
}
else
{
//Already synced.. Make a noise or something
System.Windows.MessageBox.Show("Already Synced;TODO Play a Sound Instead");
}
}
}