0

ページへの参照をカスタム コントロールに保存して、コントロールをクリックするとそのページが読み込まれるようにすることはできますか (カスタム メニュー項目のように)?

これまでの私のコード:

public class ccMenuItem : Button
{
     public static readonly DependencyProperty TitleProperty = DependencyProperty.Register("Title", typeof(string), typeof(Control));
     public static readonly DependencyProperty BackColorProperty = DependencyProperty.Register("BackColor", typeof(SolidColorBrush), typeof(Control), new UIPropertyMetadata(Brushes.White));
     public static readonly DependencyProperty PageProperty = DependencyProperty.Register("Page", typeof(Page), typeof(Control));


     public Page Page
     {
         get { return (Page)GetValue(PageProperty); }
         set { SetValue(PageProperty, value); }
     }

    public string Title
    {
        get { return GetValue(TitleProperty).ToString(); }
        set { SetValue(TitleProperty, value); }
    }

    static ccMenuItem()
    {

        DefaultStyleKeyProperty.OverrideMetadata(typeof(ccMenuItem), new FrameworkPropertyMetadata(typeof(ccMenuItem)));
    }
}

コードは正常にコンパイルされますが、XAML の Page プロパティにページ (クラスが vpn と呼ばれているとします) を割り当てるにはどうすればよいですか?

4

1 に答える 1

0

「アプリケーション」がのNavigationWindow代わりにを使用しているWindow場合は、にアクセスしてNavigationService、ページを変更するように指示できます。

protected override void OnClick()
{
    NavigationService ns = NavigationService.GetNavigationService(this);

    ns.Navigate( Page );
}
于 2012-10-23T13:05:07.823 に答える