0

これは私がWPF xamlでメニューを作成した方法です-

<Menu IsMainMenu="True" DockPanel.Dock="Top"  Width="auto"  TextBlock.TextAlignment="Right"   Foreground="Black"  >
    <MenuItem Header="_Sale"></MenuItem>

    <MenuItem Header="_Invoice" x:Name="Invoice" Click="Invoice_Click" ></MenuItem>
    <MenuItem Header="Purchase"></MenuItem>
    <MenuItem Header=" Inventory"></MenuItem>
    <MenuItem Header="Settings"></MenuItem>
    </Menu>

そして、このメニューの請求書タブのクリックイベント -

public void Invoice_Click(object sender, RoutedEventArgs e)
        {
         this.NavigationService.GetNavigationService(new Invoice());

        }

同じウィンドウで既に作成した Invoice.xaml ページを取得したいのですが、機能していないようです。私はチュートリアルを通してそれを試しましたが、まだ成功していません。

4

2 に答える 2

0

this.NavigationService.GetNavigationService(new Invoice())NavigationService新しくインスタンス化されたオブジェクトの を返しInvoiceます (ここでは、それを何にも割り当てていません)。あなたがしたいことは、のNavigate()メソッドを呼び出すことNavigationServiceですthis

public void Invoice_Click(object sender, RoutedEventArgs e)
{
    this.NavigationService.Navigate(new Invoice());
}
于 2013-07-10T07:13:56.980 に答える
0

ボタンクリックイベントコードを次のように変更します

    public void Invoice_Click(object sender, RoutedEventArgs e)
    {     
     NavigationService.Navigate(new System.Uri("Invoice.xaml", UriKind.Relative));        
    }
于 2013-07-10T07:08:27.643 に答える