我创建了一个动态列表,其中包含一些扩展视图。
这是我的代码:
foreach (var TransactionType in WorkflowBase.ViewModel_WFTransaction.AvailableTransactionTypes)
{
ExpanderView newDoc = new ExpanderView();
newDoc.FontSize = 32;
newDoc.Margin = new Thickness() { Bottom = 10, Left = 13, Right = 10, Top = 15 };
newDoc.Header = TransactionType.ProcessName;
foreach (var role in TransactionType.ListOfRoles)
{
TextBlock roleItem = new TextBlock();
roleItem.FontSize = 28;
roleItem.Margin = new Thickness() { Bottom = 4, Left = 4, Right = 4, Top = 4 };
roleItem.Text = role;
roleItem.Tag = TransactionType;
roleItem.Tap += roleItem_Tap;
newDoc.Items.Add(roleItem);
}
NewTransactionsPanel.Children.Add(newDoc);
}
正如您在扩展器视图中看到的那样,我已将文本块放入以显示我的数据,现在我要做的是当我单击其中一个文本块时,我想获取列表中该项目的索引以及索引列表中的扩展视图。我不知道该怎么做。
这是加载列表后的图片,以提供更好的想法。
例如,如果我单击“po Mobile”标题下的“line manager”,我现在想要该 2 项列表中的 line manager 文本块的索引,并且我想要更大列表中的 po mobile 的索引。
这都是动态数据,所以列表中的项目数量会发生变化。
已解决:根据Kookiz给我的建议,这就是我所做的,1. 我在文本块标签中添加了我需要的所有数据 - 请参阅下面的代码片段,2.然后我将其添加到我的导航中,3.然后查询出来在我的其他页面加载
1.
roleItem.Tag =
TransactionType.ListOfRoles.IndexOf(role) + ","
+ WorkflowBase.ViewModel_WFTransaction.AvailableTransactionTypes.IndexOf(TransactionType)
+ "," + TransactionType.FormName
+ "," + TransactionType.ProcessID
+ "," + TransactionType.ActivityID
+ "," + TransactionType.FormID;
2.
this.NavigationService.Navigate(new Uri("/UI/Documents/frmGenericNewTransaction.xaml?Formname="
+ FormName.ToString() +
"&Role=" + roleindex +
"&Processindex="+ processindex +
"&Processid=" + ProcID +
"&Activityid=" + ActID +
"&Formid=" + FormID +
"&Roleid=" + RoleName, UriKind.Relative));
3.
NavigationContext.QueryString.TryGetValue("Activityid", out ActivityID);
NavigationContext.QueryString.TryGetValue("Roleid", out RoleName);
NavigationContext.QueryString.TryGetValue("Formid", out FormID);