0
void RecordButton_Click(object sender, EventArgs e)
{
    NavigationService.Navigate(new Uri("/RecordAudio.xaml",UriKind.Relative));
}

上記のコードでは、NavigationService はクラスですか、それともタイプ NavigationService のオブジェクトですか? .

それがクラスの場合。Navigate() は静的メソッドですか?

オブジェクトの場合。new 演算子を使用して NavigateService クラスをインスタンス化していないのはなぜですか?

4

3 に答える 3

0

@VahidNdが言ったように-F12を使用します(VSを使用する場合)。明確にするために、次のようにし
PhoneApplicationPageます:(使用する)基本クラスはPage次のとおりです。

public class PhoneApplicationPage : Page
{
 // content
}

public class Page : UserControl
{
    public NavigationCacheMode NavigationCacheMode { get; internal set; }
    public NavigationContext NavigationContext { get; }
    public NavigationService NavigationService { get; }
    public string Title { get; set; }

    protected virtual void OnFragmentNavigation(FragmentNavigationEventArgs e);
    protected virtual void OnNavigatedFrom(NavigationEventArgs e);
    protected virtual void OnNavigatedTo(NavigationEventArgs e);
    protected virtual void OnNavigatingFrom(NavigatingCancelEventArgs e);
}

また、System.Windows.Navigation のクラスであるNavigationServicetypeのプロパティがあることがわかります。 この F12 キーを使用すると、これらの依存関係を確認できます。タイプ/プロパティ/必要なものにカーソルの位置を設定して、キーを押してください。NavigationService

于 2014-01-16T10:48:07.777 に答える
0

NavigationServiceは非静的クラスであり、そのメソッドも同様Navigateです。メソッドは静的ではないため、クラスのオブジェクトを作成する必要があります。ただし、クラス NavigationService は、アプリの実行時に自動的にインスタンス化され、プロパティとして Frame オブジェクトにアタッチされるため、1 つのフレーム内のすべての Page オブジェクトで共通に使用できます。

参照

ページ フレーム コンテンツとクラス NavigationService の役割の違いを理解するため。

関連する質問へのリンク

関連する質問へのリンク

于 2014-01-16T10:24:40.553 に答える
0

私が知っていることから: NavigationService クラスは、現在の最近のページに「属しており」、「単独で」使用されることはありません。navigateのように、代わりにそのメソッドを使用します。ページは、sth のときに通知されます。new は表示することです。

于 2014-01-16T09:01:22.960 に答える