我正在开发使用SharpDX的.NET应用程序(用于C#的DirectX包装器)。另外我正在实现WPF接口(在XAML中)。比方说,我想在我的app中定义特定3D模型的旋转角度:
<dx3d:DxGeometryModel3D.Transform>
<dx3d:DxTransform3DGroup>
<dx3d:DxTransform3DGroup.Children>
<dx3d:DxRotateTransform3D>
<dx3d:DxRotateTransform3D.Rotation>
<AxisAngleRotation3D Angle="30" />
</dx3d:DxRotateTransform3D.Rotation>
</dx3d:DxRotateTransform3D>
</dx3d:DxTransform3DGroup.Children>
</dx3d:DxTransform3DGroup>
</dx3d:DxGeometryModel3D.Transform>
正如你所看到的,我有自己的类(DxGeometryModel3D而不是WPF中的GeometryModel3D),在里面,我创建了更常用的依赖属性。现在,我想创建简单的动画,这将改变Angle属性。在WPF中,它就像下面(我想以类似的方式做到):
<AxisAngleRotation3D Angle="30">
<AxisAngleRotation3D.Triggers>
// animation defined here
</AxisAngleRotation3D.Triggers>
</AxisAngleRotation3D>
换句话说:我如何附加到我的类Triggers属性?
答案 0 :(得分:2)
正如@MarioStoilov在评论中暗示的那样,您的自定义类不具有Triggers
属性。这是因为在您的类当前扩展的Triggers
类中定义了熟悉的DependencyObject
属性 。添加此属性(将按预期工作)的最简单方法是扩展定义此属性的FrameworkElement
类,而不是DependencyObject
类(而不是UIElement
上课@MarioStoilov)。
您可以在MSDN上的FrameworkElement
Class页面上找到有关FrameworkElement
班级的更多信息。