0

画像と透かし (画像など) を表示するコントロールを作成したいと考えています。
ただし、透かしの表示方法をユーザーがカスタマイズできるようにするために、透かしは別の 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>

私の検索結果は、 ContentPresenter 、 ContentTemplate 、 DataTemplate などの ControlTemplate のものを追加するように導きます:非常に多くの結果があり、それらがどのように機能するのか理解できませんが、それらがネストされているという事実

4

1 に答える 1

0

Sourceプロパティを追加して、埋め込みMyWatermarkControlのプロパティをこのプロパティにバインドできます。詳細については、私が書いた次のチュートリアルを参照してください。SourceImage

WPF / Silverlight で再利用可能なユーザー コントロールを作成するための簡単なパターン

于 2012-09-09T06:48:47.553 に答える