簡體   English   中英

WPF 創建自定義控件

[英]WPF create a custom control

我想在 WPF 中構建一個自定義控件,但我不知道該使用什么。 我想實現以下目標:

控制草圖在此處輸入圖片說明

所以有兩個不同的文本塊(標題和提示)以及圖標的路徑。

我在一個視圖中多次需要此控件,但 itemssource 不是列表(因此我不能使用 itemscontrol 和 datatemplate)。

我將如何做到最好?

  1. 在 Visual Studio 中有一個 WPF 自定義控件庫的模板(以及一個 WPF 自定義控件的模板)
  2. 我想你已經習慣了創建 XAML,所以標記不會被覆蓋
  3. 要允許將數據項從 XAML 綁定到控件,您需要在控件代碼中創建依賴項屬性:
     public string Header {
        get => (string) GetValue(HeaderProperty);
        set => SetValue(HeaderProperty, value);}
    public static readonly DependencyProperty HeaderProperty = // note naming - <PropName>+Property
        DependencyProperty.Register(nameof(Header), typeof(string), typeof(YourControl), new FrameworkPropertyMetadata(""));

對要公開的每個屬性重復此代碼

這樣您就可以使用<YourControl Header="text" /><YourControl Header={Binding SomeProp} />在 XAML 中綁定屬性

  1. 創建所有需要的道具后,您可以輕松地在控件的 XAML 中綁定到它們:
<TextBlock Text={Binding Header} />

暫無
暫無

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

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