私はInkPresenter
とImage
を含むこのCustomControlを持っています。画像にはAdornerDecorator
があります。後で画像にアドナーを追加する予定です。私は、InkPresenter
が画像上に描画されるように、をInkPresenter
より高く設定しました。イメージとインクプレゼンターの間のZオーダー
問題は、InkPresenter
からインクを収集して表示しようとすると、画像の下にストロークが描画されることです。 (私はスヌープを使ってビジュアルツリーをチェックしていましたが、InkPresenter
はImage
より上です)なぜこれがわからないのですか?誰でもここにImage
がInkPresenter
の上に描かれている理由を知っていますか?どんな助けも大歓迎です。
Generic.xaml
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:HotSpotImage">
<Style TargetType="{x:Type local:HotSpotImage}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:HotSpotImage}">
<ControlTemplate.Resources>
<local:StringtoImageSource x:Key="ImageSourceConverter"/>
</ControlTemplate.Resources>
<Canvas Width="{TemplateBinding Width}"
Height="{TemplateBinding Height}">
<InkPresenter Canvas.ZIndex="1"
x:Name="PART_InkPresenter"
Width="{TemplateBinding Width}"
Height="{TemplateBinding Height}"/>
<Image Canvas.ZIndex="2" x:Name="PART_Image"
Width="{TemplateBinding Width}"
Height="{TemplateBinding Height}" Source="{Binding
RelativeSource={RelativeSource TemplatedParent},
Path=Source,
Converter={StaticResource ImageSourceConverter}}"/>
</Canvas>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
を私はInkPresenter
からMouseDown
、MouseUp
、MouseMove
などのイベントを添付している私は、これらのイベントの取り扱いを移動することを計画して次のように
私のコードです後に他のクラスに
Image
がInkPresenter
の上に描画されるため、これらのイベントはキャプチャされないため、InkPresenter
ではなくイベントを取得します。誰がなぜこのことが分かっているのですか?
ご迷惑をおかけして申し訳ありません。
感謝を参照してくださいので、値2を持つイメージが値とインクの上に描かれている、1
ユーザーに近いです – Nilu