我想确定xaml中的哪个形状被点击了。
为此,我通过静态资源向WPF添加了一个图像:
<Image Source="{StaticResource di_input}" Name="MyImage" PreviewMouseDown="OnMouseDown">
字符串
此资源是一个导出的svg:
<ResourceDictionary
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<DrawingGroup x:Key="easy_xaml">
<DrawingGroup.ClipGeometry>
<RectangleGeometry Rect="0.0,0.0,203.71425,107.84938"/>
</DrawingGroup.ClipGeometry>
<DrawingGroup Transform="1.0,0.0,0.0,1.0,-5.6774192,-3.2151276">
<GeometryDrawing Brush="#ffff6600" x:Name="Rectangle">
<GeometryDrawing.Geometry>
<RectangleGeometry Rect="5.6774192,5.3225808,106.45161,69.548386"/>
</GeometryDrawing.Geometry>
</GeometryDrawing>
</DrawingGroup>
.
.
.
<DrawingImage Drawing="{StaticResource easy_xaml}" x:Key="di_input"/>
</ResourceDictionary>
型
我可以得到点击落在的GeometryDrawing
,但我没有办法识别它对应的资源中的哪个形状。我添加的x:Name
属性/值似乎无法访问。
有没有办法访问Name
或以某种方式区分DrawingGroup
s或GeometryDrawing
s?
1条答案
按热度按时间4nkexdtk1#
感谢BionicCode的提示,我能够提出一个解决方案:自定义附加属性
属性的类:
字符串
添加到资源的:
型
然后可以用
型