How to navigate links by button in WPF Modern UI in C#?

VarunJi picture VarunJi · Apr 1, 2014 · Viewed 7k times · Source

I am using ModernUI. I have one issue with Button and link.

I am trying to navigate by Button Click event and my code in "Home.xaml" is as follow

private void addGameButton_Click(object sender, RoutedEventArgs e)
{
    BBCodeBlock bs = new BBCodeBlock();
    try
    {
        bs.LinkNavigator.Navigate(new Uri("pack://application:/Pages/AddGame.xaml"), null);
    }
    catch (Exception error)
    {
        ModernDialog.ShowMessage(error.Message, FirstFloor.ModernUI.Resources.NavigationFailed, MessageBoxButton.OK);
    }
}

mui:Link works fine in MainWindows.xaml for navigation. but I want to navigate to AddGame.xaml from Home.xaml Page by a Button, which is in Home.xaml page.

My file structure is as below, for reference.

Folder Structure

So please let me know, where am i doing wrong?

Answer

Lukas Kubis picture Lukas Kubis · Apr 2, 2014

The second parameter of bs.LinkNavigator.Navigate method is source that cannot be null. Try this:

private void addGameButton_Click(object sender, RoutedEventArgs e)
{
    BBCodeBlock bs = new BBCodeBlock();
    try
    {
        bs.LinkNavigator.Navigate(new Uri("/Pages/AddGame.xaml", UriKind.Relative), this);
    }
    catch (Exception error)
    {
        ModernDialog.ShowMessage(error.Message, FirstFloor.ModernUI.Resources.NavigationFailed, MessageBoxButton.OK);
    }
}