2013-05-31 39 views
2

我有以下的DataTemplate其在Resources.xaml(为什么没有事件处理包括在这里,多数民众赞成)持有我的Visual模板为我的节目定义添加事件处理程序的形状一个DataTemplate内通过代码

<DataTemplate x:Key="PointTemplate"> 
    <Ellipse x:Name="Ellipse" Width="8" Height="8" Stroke="Black" StrokeThickness="1.5" Fill="White" Visibility="{Binding DataItem.Visibility}"/> 
</DataTemplate> 

那么其用于代码的可视化从我的资源加载它:

... 
line.PointTemplate = (DataTemplate) Application.Current.Resources["PointTemplate"]; 

现在我想的事件处理程序和游标添加到PointTemplate内的椭圆(= DataTemplate中)。 但是..我该怎么做?

在此先感谢!

+0

您可以将光标从xaml更改为'Cursor ='Hand'',并且您要处理什么事件? –

+0

我想处理MouseDown事件。 将光标设置在xaml中肯定是可能的,但不是所有使用此模板的实例都应该得到它(并且复制模板以使光标复制也不是很好) – Mikk

+0

然后,也许你可以使用类似Trigger或DataTrigger仅在需要时更改光标。 –

回答

1

一对处理事件的方法是使用一个按钮的命令:

<DataTemplate x:Key="PointTemplate"> 
    <Button Command="Zoom"> 
     <Button.Template> 
      <ControlTemplate> 
       <Ellipse x:Name="Ellipse" Width="80" Height="80" Stroke="Black" StrokeThickness="1.5" Fill="White"/> 
      </ControlTemplate> 
     </Button.Template> 
    </Button> 
</DataTemplate> 

而且你可以在命令添加相应的处理程序。

相关问题