簡體   English   中英

WPF自定義控件屬性-分配對象(例如頁面)

[英]WPF Custom Control Property - Assign object such as page

是否可以在自定義控件中存儲對頁面的引用,以便在單擊控件時加載該頁面(如自定義菜單項)?

到目前為止,我的代碼:

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中將頁面(例如,類稱為vpn)賦給Page屬性?

如果您的“應用程序”使用的是NavigationWindow而不是Window ,則可以轉到NavigationService並告訴它更改頁面。

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

    ns.Navigate( Page );
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM