это мой первый опыт разработки приложений для Windows Phone 8. У меня есть проблема, о которой я упоминал ниже, не могли бы вы помочь мне разобраться в этом.
Я показываю данные из ActivityViewModel через привязку данных в Activities.xaml Когда пользователь нажимает на элемент активности, я посылаю ActivityID в ActivityDetails.xaml. Я пытаюсь вызвать объект, который я создал как AccountAction, используя ActivityID.
Как я могу получить значения объекта (ActivityImage, ActivityName, ActivityAmont...) с помощью ActivityID в ActivityDetails.xaml.cs?
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;
}
}
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);
}
}
РЕДАКТИРОВАТЬ:
Вы можете получить данные, относящиеся к activid, используя linq
AccountAction result = ActivityItemCollection.FirstOrDefault(act=>act.ActivityID == ActivityID);
Затем вы можете получить значения объектов, такие как result.ActivityName