2011-01-05 10 views
2

基本的に、私はItemsControl内のアイテムを定義するDataTemplateを持っていて、クリックしたときにアイテムの上に吹き出しをポップしたいと思います。これまでのところ、私の試みは、私の崇拝者がDataTemplateの内側に現れ、その上にあるのではなく、そのDataTemplateの境界で切り捨てられてしまいました。私はここで見つけることができる素晴らしいアコーナーコントロールを使用しています:http://www.codeproject.com/KB/WPF/adornedcontrol.aspxデータテンプレート外のDataTemplateアイテムにアドナを追加できますか?

私のXAMLは、次のようになります。

<DataTemplate x:Key="TrackActivityDetailTemplate"> 
     <ac:AdornedControl HorizontalAlignment="Center" VerticalAlignment="Center" VerticalAdornerPlacement="Outside" > 
      <ac:AdornedControl.AdornerContent> 
       <TextBlock Foreground="Red" Text="HEY!!!!" /> 
      </ac:AdornedControl.AdornerContent> 
      <Rectangle Name="btn" Height="35" Width="2" Fill="{Binding Foreground, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ItemsControl}}}" > 
      <i:Interaction.Triggers> 
       <i:EventTrigger EventName="MouseLeftButtonDown"> 
        <cmd:EventToCommand Command="{Binding Path=SelectActivityCommand}" PassEventArgsToCommand="True"/> 
       </i:EventTrigger> 
      </i:Interaction.Triggers> 
     </Rectangle> 
     </ac:AdornedControl> 
    </DataTemplate> 

任意の考え?私は飾り手でもできることをしようとしているのですか?

答えて

1

はい、可能です。私が試みる最初のことは、クリッピングを引き起こしている要素に対してClipToBounds = falseを設定することです。

しかし、これらの場合、キャンバスにラップしてキャンバスを「浮動」させることができます。このトリックはここに記載されています:http://drwpf.com/blog/2007/12/28/cliptoboundsmaybe/

+0

ご連絡ありがとうございます!私の遅れた受け入れには申し訳ありません。それは素晴らしい仕事でした。私はそれを私が望む場所に置くためにマージンでそれをちょうど欺くことができました。 – Danno

関連する問題