我通过Activities.xaml中的数据绑定显示来自ActivityViewModel的数据 当用户点击活动项时,我将ActivityID发送到ActivityDetails.xaml。 我试图通过使用ActivityID调用我创建为AccountAction的对象。
如何在ActivityDetails.xaml.cs中使用ActivityID获取对象值(ActivityImage,ActivityName,ActivityAmont ...)?
ActivityViewModel:
public class ActivityViewModel
{
public ObservableCollection<AccountAction> ActivityItemCollection { get; set; }
public ActivityViewModel()
{
ActivityItemCollection = new ObservableCollection<AccountAction>();
ActivityItemCollection.Add(new AccountAction()
{
ActivityID = "SP0001",
ActivityImage = "/Images/Logos/e-bay.png"
ActivityName = "E-Bay",
ActivityAmount = "100,00",
ActivityDate = "Today",
ActivityHour = "11:49"
});
.
.
.
}
}
Activities.xaml.cs
private void StackPanel_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
var _ActivityID = Convert.ToString(((StackPanel)sender).Tag);
NavigationService.Navigate(new Uri("/ActivityDetails.xaml?ActivityID=" + _ActivityID, UriKind.Relative));
}
ActivityDetails.xaml.cs
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string ActivityID = "";
if (NavigationContext.QueryString.TryGetValue("ActivityID", out ActivityID))
{
ReferanceNumber.Text = ActivityID;
}
}
答案 0 :(得分:1)
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
string ActivityID;
if (e.IsNavigationInitiator && this.NavigationContext.QueryString.TryGetValue("ActivityID", out ActivityID))
{
ActivityID= int.Parse(ActivityID);
}
}
修改强>
您可以使用linq
获取与activityid相关的数据AccountAction result = ActivityItemCollection.FirstOrDefault(act=>act.ActivityID == ActivityID);
然后你可以获得像result.ActivityName
这样的对象值