通过代码将Eventhandler添加到DataTemplate内部的形状

时间:2013-05-31 12:26:42

标签: c# wpf xaml

我有一个在Resources.xaml中定义的DataTemplate,它包含我的程序的可视化模板(这就是为什么这里不包含Eventhandler)

<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"];

现在我想将一个EventHandler和Cursor添加到PointTemplate(= DataTemplate)内的Ellipse中。 但是..我该怎么做?

提前感谢!

1 个答案:

答案 0 :(得分: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>

您可以相应地为命令添加处理程序。