2009-07-22 10 views
1

私はInkPresenterImageを含むこのCustomControlを持っています。画像にはAdornerDecoratorがあります。後で画像にアドナーを追加する予定です。私は、InkPresenterが画像上に描画されるように、をInkPresenterより高く設定しました。イメージとインクプレゼンターの間のZオーダー

問題は、InkPresenterからインクを収集して表示しようとすると、画像の下にストロークが描画されることです。 (私はスヌープを使ってビジュアルツリーをチェックしていましたが、InkPresenterImageより上です)なぜこれがわからないのですか?誰でもここにImageInkPresenterの上に描かれている理由を知っていますか?どんな助けも大歓迎です。

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からMouseDownMouseUpMouseMoveなどのイベントを添付している私は、これらのイベントの取り扱いを移動することを計画して次のように

私のコードです後に他のクラスに

ImageInkPresenterの上に描画されるため、これらのイベントはキャプチャされないため、InkPresenterではなくイベントを取得します。誰がなぜこのことが分かっているのですか?

ご迷惑をおかけして申し訳ありません。

答えて

1

あなたはzオーダーを逆に考えています。 S:私は常に他の方法ラウンド...ということだD:高い値がMSDN

+0

感謝を参照してくださいので、値2を持つイメージが値とインクの上に描かれている、1

ユーザーに近いです – Nilu

関連する問題