0
我有复合设置,重新填充文本框和文本块的数据,但尝试重新填充列表框时失败。下面是一些代码:内部 “的OnNavigatedTo”如何重新填充UWP C#中的列表框后返回到框架?
{
ApplicationDataCompositeValue composite = (ApplicationDataCompositeValue)localSettings.Values["CompositeSettings"];
if (composite == null)
{
MessageBox("No data!");
}
else
{
txtBox1.Text = composite["text1"]?.ToString();
txtBox2.Text = composite["text2"]?.ToString();
//Here are the issues
lstOfData1.ItemsSource = composite["myListOfData1"]?.ToString();
lstOfData2.ItemsSource = composite["myListOfData2"]?.ToString();
}
内部 “OnNavigatingFrom”
{
ApplicationDataCompositeValue composite = new ApplicationDataCompositeValue();
composite["text1"] = txtBox1.Text;
composite["text2"] = txtBox2.Text;
composite["myListOfData1"] = myListOfData1;
composite["myListOfData2"] = myListOfData2;
localSettings.Values["CompositeSettings"] = composite;
}
因此,txtBoxes重新填充罚款,但列表框为空。我是否通过复合设置进行初始化?怎么样?
谢谢菲利普,你走上了正轨。我解决了这个问题,如下所示: – Csharping
// On NavigatedTo: { ... listBox.ItemsSource = composite [“myList”]; listBox2.ItemsSource = composite [“myList2”]; ... } – Csharping
// OnNavigatingFrom: { ... 列表 COMP1 =新列表(); foreach(listBox.Items中的字符串项) { comp1.Add(item); } composite [“myList”] = comp1.ToArray(); 列表 comp2 =新列表(); foreach(listBox2.Items中的字符串项) { comp2.Add(item); } composite [“myList2”] = comp2.ToArray(); localSettings.Values [“CompositeSettings”] = composite; ... } –
Csharping