Stefan,
Thank you for the response. I still seem to be having difficulty. When I store the selected row in Button1 and restore the selection in Button2, it works great (Thanks to your sample code). I need to serialize the selected object for database storage and deserialize for row re-selection. Serialization/Deserialization seems to work fine but the resulting row selection does not work. I'm guessing the Type casting is the cause of my problem. My revised sample code cast the selected row as a ProjectListItemModel. To make matters more complex I would like the object type casting be generic. I would like the final process to be able to store row information for any DataGrid (Projects, Loans, Contracts, etc.). Below is my revised code and assistance is Much Appreciated!!!
private ProjectListItemModel LastSelectedRow = new ProjectListItemModel();
private string stringObject;
private void test1_Click(object sender, System.Windows.RoutedEventArgs e)
{
if (ProjectListingGridView.SelectedItems.Count > 0)
{
LastSelectedRow = ProjectListingGridView.SelectedItem as ProjectListItemModel;
XmlSerializer serializer = new XmlSerializer(LastSelectedRow.GetType());
using (StringWriter sw = new StringWriter())
{
serializer.Serialize(sw, LastSelectedRow);
stringObject = sw.ToString();
}
this.ProjectListingGridView.SelectedItems.Clear();
}
}
private void test2_Click(object sender, System.Windows.RoutedEventArgs e)
{
if (ProjectListingGridView.HasItems)
{
var row = ProjectListingGridView.Items[0];
var deserializer = new XmlSerializer(row.GetType());
TextReader tr = new StringReader(stringObject);
var selectRow = deserializer.Deserialize(tr);
ProjectListingGridView.SelectedItem = selectRow as ProjectListItemModel;
//ProjectListingGridView.SelectedItem = LastSelectedRow;
var count = this.ProjectListingGridView.SelectedItems.Count();
}
}