Ich habe dieses CustomControl, das eine InkPresenter
und eine Image
enthält. Das Bild hat eine AdornerDecorator
, da ich plane, dem Bild später einen Adorner hinzuzufügen. Ich habe die Canvas.ZIndex
der Image
höher als die InkPresenter
gesetzt, so dass die InkPresenter
über das Bild gezogen wird.Z Auftrag zwischen Bild und InkPresenter
Das Problem ist, dass, wenn ich versuche, Tinte aus dem InkPresenter
zu sammeln und anzuzeigen die Striche unter dem Bild gezeichnet werden. (Ich habe verwendet, um den visuellen Baum mit Snoop zu überprüfen und die InkPresenter
ist über der Image
) Ich bin mir nicht sicher, warum das ist. Kennt jemand hier, warum die Image
über die InkPresenter
gezeichnet wird? Jede Hilfe wird sehr geschätzt.
Mein Code ist wie folgt:
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>
Ich habe angebracht, um die MouseDown
, MouseUp
, MouseMove
etc Ereignisse an den InkPresenter
wie ich plane, den Umgang mit diesen Ereignissen zu bewegen zu anderen Klassen später.
Leider werden diese Ereignisse nicht erfasst, weil die Image
über die InkPresenter
gezeichnet wird, so dass es die Ereignisse statt der InkPresenter
bekommt. Weiß jemand, warum das sein könnte?
Jede Hilfe wird sehr geschätzt.
Dank: D Ich habe immer, dass umgekehrt ...: S – Nilu