у меня есть 2 страницы, я должен переместиться по mainpage.xaml к login.page xaml, но он бросает меня Ссылка на объект не набор к экземпляру объекта. в Корне. Дети. Ясный ();....
я добавил, что это кодирует в App.xaml:
private void Application_Startup(object sender, StartupEventArgs e)
{
Grid myGrid = new Grid();
myGrid.Children.Add(new MainPage());
this.RootVisual = myGrid;
}
и, чем я adde некоторые коды main.xaml для навигации к LoginUI.xaml
namespace Gen.CallCenter.UI
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
Grid Root = ((Grid)(this.Parent));
Root.Children.Clear();
Root.Children.Add(new LoginUI());
}
}
}
Как я могу переместиться по main.xaml к LoginUI.xaml?
Как сказал AnthonyWJones, вам нужно использовать навигационную структуру.
Сначала вам нужно добавить ссылку на System.Windows.Controls.Navigation
в ваш проект и сослаться на него в MainPage.xaml
xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
Затем вам понадобится фрейм, внутри которого вы будете переключать различные XAML страницы. Что-то вроде этого:
<navigation:Frame x:Name="navFrame" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Source=”/Views/First.xaml” />
Теперь где-то в MainPage.xaml у вас может быть кнопка с тегом
и в обработчике событий Button_Click
вы можете переключать содержимое, отображаемое в navFrame
.
private void Button_Click(object sender, RoutedEventArgs e)
{
Button theButton = sender as Button;
string url = theButton.Tag.ToString();
this.navFrame.Navigate(new Uri(url, UriKind.Relative));
}
Приятно отметить, что при использовании NavigationFramework кнопки браузера назад и вперед работают отлично, а URL в адресной строке обновляется в зависимости от страницы XAML, на которой вы находитесь в данный момент :)
.Похоже, вы начали не с той ноги. Подобные вещи предназначены для использования шаблона навигационного приложения. Вам следует начать новый проект и выбрать «Навигационное приложение Silverlight».
После загрузки просто запустите его, чтобы посмотреть, как выглядит базовая оболочка. Затем посмотрите, как структурирована MainPage, и произнесите Home view. Что вам нужно сделать, так это создать новые представления на основе типа навигации Page
, а затем добавить их в MainPage.xaml.