2017-07-17 65 views
-3

我創建了一個基本上是應該打開文檔的按鈕的wpf usercontrol。我想創建它,以便任何人都可以將此文檔的URL放入xaml中。這可能嗎?WPF UserControl以url作爲依賴項屬性

編輯:我已經添加了一個依賴屬性來存儲url,但每當我嘗試構建它時都會引發異常。 XAML中看起來是這樣的:

<controls:HelpButton WidthAndHeight="40" HelpDocUrl="http://sviamapp.sidmar.be/Documents/Secties/AGP/Applicaties/STL/Procescomputers%20continugieterij/060%20Gebruikersdocumentatie/Gebruik%20kleverdoorbraakbeeld.docx"/> 

後面的屬性看起來像這樣我的代碼:

public string HelpDocUrl  
{ 
    get { return (string)GetValue(HelpDocUrlProperty); } 
    set { SetValue(HelpDocUrlProperty, value); } 
} 

public static readonly DependencyProperty HelpDocUrlProperty = DependencyProperty.Register("HelpDocUrl", typeof(string), typeof(HelpButton), new PropertyMetadata(default(string))); 

回答

1

添加的代碼隱藏類的UserControl的依賴屬性:

public partial class UserControl1 : UserControl 
{ 
    public UserControl1() 
    { 
     InitializeComponent(); 
    } 

    public static readonly DependencyProperty UrlProperty = 
    DependencyProperty.Register("Url", typeof(string), typeof(UserControl1), new PropertyMetadata(null)); 

    public string Url 
    { 
     get { return (string)GetValue(UrlProperty); } 
     set { SetValue(UrlProperty, value); } 
    } 

    private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     string url = Url; 
     //... 
    } 
} 

...您的任何控制消費者可以照常設置:

<local:UserControl1 Url="http://...." /> 
+0

你應該接受這個答案 – Gravity