Я хочу получить доступ к значениям сетки главной страницы в пользовательском контроле (дочерняя страница). Пожалуйста, скажите мне, как это сделать?Как получить доступ к элементам родительской страницы в usercontrol в silverlight?
ответ
Вы можете выставить ваш MainPage
на App
класса (объявленного в App.xaml.cs
) как App.MainPage
собственности:
public MainPage MainPage { get; private set; }
private void Application_Startup(object sender, StartupEventArgs e)
{
this.MainPage = new MainPage();
this.RootVisual = this.MainPage;
}
Тогда вы можете получить доступ все открытые свойства/функции на классе MainPage следующим образом:
MainPage mainPage = ((App)App.Current).MainPage;
Альтернативно вы можете найти MainPage в визуальном дереве страницы следующим образом:
using System.Linq;
using System.Windows.Controls.Primitives;
// place this code where you want to find MainPage
MainPage mainPage = this.GetVisualAncestors().OfType<MainPage>().FirstOrDefault();
Какой способ не работает с образцами, первым или вторым? –
Как объявить главную страницу в app.xaml.cs, дайте мне знать четко? – user1237131
Я обновил пример, извините за несклонность. –
Вы используете шаблон Model-View-ViewModel или ваши данные хранятся в коде страницы/кода управления? –
Я не использую MVVM Model.using только обычный код страницы – user1237131