![](/img/trans.png)
[英]Setting imagesource of image inside controltemplate for different controls in xaml
[英]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
然后将嵌入式Image
的Source
属性绑定到此属性。 有关更多详细信息,请参见我编写的以下教程:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.