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