【问题标题】:Include controls in a ControlTemplate from another .xaml在来自另一个 .xaml 的 ControlTemplate 中包含控件
【发布时间】:2012-09-09 03:02:33
【问题描述】:

我想创建一个在其上显示图像和水印(图像或其他内容)的控件。
但是应该从另一个 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:结果太多,我无法理解它们是如何工作的,但事实上它们是嵌套的

【问题讨论】:

    标签: windows-phone-7 xaml datatemplate controltemplate generic.xaml


    【解决方案1】:

    您可以将Source 属性添加到MyWatermarkControl,然后将嵌入的ImageSource 属性绑定到此属性。有关更多详细信息,请参阅我编写的以下教程:

    A Simple Pattern for Creating Re-useable UserControls in WPF / Silverlight

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 2021-11-04
      • 2014-03-17
      • 2012-11-18
      • 1970-01-01
      • 2014-09-18
      • 2011-10-09
      相关资源
      最近更新 更多