簡體   English   中英

在另一個.xaml中的ControlTemplate中包含控件

[英]Include controls in a ControlTemplate from another .xaml

我想創建一個在其上顯示圖像和水印(圖像或其他東西)的控件。
但是水印應該從另一個XAML文件中加載,以便讓人們自定義水印的顯示方式:對齊方式,不透明度,大小,水印的性質(TextBlock,Image等)。

例如,我可以用這種外觀加載水印

<Border BorderThickness="5" BorderBrush="Aqua" Width="50" Height="50">
  <Image Source="play.png" />
</Border>


這段代碼來自我的Themes / generic.xaml,而MyWatermarkControl (從Control繼承)是包含控件代碼(依賴屬性)的類。

<Style TargetType="local:MyWatermarkControl">
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="local:MyWatermarkControl">
        <Grid>
          <Image Source="{TemplateBinding ImagePath}" />
          <Image x:name="watermark" Source="play.png" /> <!--I want this to be loaded from another .xaml-->
        </Grid>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

我的搜索結果導致我添加了ControlTemplate之類的內容,例如ContentPresenter,ContentTemplate,DataTemplate:如此之多的結果,我無法理解它們如何工作,但實際上它們是嵌套的

您可以將Source屬性添加到MyWatermarkControl然后將嵌入式ImageSource屬性綁定到此屬性。 有關更多詳細信息,請參見我編寫的以下教程:

在WPF / Silverlight中創建可重復使用的用戶控件的簡單模式

暫無
暫無

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

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