В страницаА У меня есть HyperlinkButton, что ссылки на страницаБSilverlight: Передача сложного объекта между страницами
private void Link1_Click_1(object sender, RoutedEventArgs e)
{
HyperlinkButton btn = sender as HyperlinkButton;
string url = btn.Tag.ToString();
this.mainFrame.Navigate(new Uri(url, UriKind.Relative));
}
Как я могу сделать сложный объект на страницаА доступен страницаБ?
Либо передайте его, когда я воссоздаю pageB или сделаю его общедоступным на странице. Я могу получить доступ, я думаю?
Я мог бы добавить объект App.xaml так, что он доступен везде, но я не думаю, что это лучший pratice
Это будет работать, но я бы предпочел не использовать статические переменные. Должны быть другие способы? – Billy
@Billy, используя статические переменные isnt bad, один набор глобальных переменных всегда используется почти в каждой системе, иначе вы в конечном итоге делаете слишком много кода прохождения (Marshalling). Однако всегда есть компромисс между тем, когда использовать и когда не использовать. Но в вашем случае, когда к объекту нужно обращаться через несколько классов, полезно добавить его в глобальную статическую переменную. –
Согласовано с Akash.Как бы то ни было, если у вас возникли проблемы со статическими переменными, вы можете открыть свойство типа словаря type в свой App.xaml.cs, а затем получить/установить значения с любой страницы, например App ap = (приложение) Application.Current; ap.YourProperty = значение; –
amazedsaint