簡體   English   中英

通過xaml創建具有某些屬性的自定義控件

[英]Create custom control with some property set through xaml

我創建了一個自UserControl派生的自定義控件,它具有一個文本塊,一個文本框和2個按鈕,稱為PathMng。

<Grid>
    <!-- some other stuff -->
    <TextBlock Name="PathName">Name</TextBlock>
</Grid>

我試圖通過調用此控件的外部xaml設置TextBlock的文本

<Grid>
    <local:PathMng>NameHere</local:PathMng>
</Grid>

但是我不明白該如何將文本“ NameHere”綁定到TextBlock。

我嘗試用“自定義xaml”,“模板xaml”或也許太多的通用字詞進行搜索,但找不到所需的內容

預先感謝您的任何幫助

首先,為您簡化設置,請使用例如:

<local:PathMng MyText="NameHere"/>

現在,在您的用戶控件背后的代碼中,創建一個依賴項屬性:

    public string MyText
    {
        get { return (string)GetValue(MyTextProperty); }
        set { SetValue(MyTextProperty, value); }
    }

    public static readonly DependencyProperty MyTextProperty =
        DependencyProperty.Register("MyText", typeof(string), typeof(UserContrrol1), new PropertyMetadata(null));

最后,在UserControl1 XAML中,將TextBox的Text屬性綁定到此DP:

<TextBox Text="{Binding MyText, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:UserControl1}}}" />

所有這些都假定您的用戶控件稱為UserControl1

暫無
暫無

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

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