C# 从RadDiagramToolBox中的图标创建自定义实例
我使用RadDiagram在我们的系统中制作设计器。我的屏幕上有三个部分:RadDiagram、RadDiagram工具箱和工具栏 我必须在RadDiagramToolBox中显示自定义形状的图标图像。由于某种原因,我的自定义形状无法从RadDiagramShape继承。这就是为什么RadDiagram不接受我的自定义形状,我创建了源自RadDiagram的MyDesigner,并覆盖了this.Drop+=MyDesigner\u Drop 为此,我使用了这个层次结构 详情如下:C# 从RadDiagramToolBox中的图标创建自定义实例,c#,wpf,xaml,telerik,raddiagram,C#,Wpf,Xaml,Telerik,Raddiagram,我使用RadDiagram在我们的系统中制作设计器。我的屏幕上有三个部分:RadDiagram、RadDiagram工具箱和工具栏 我必须在RadDiagramToolBox中显示自定义形状的图标图像。由于某种原因,我的自定义形状无法从RadDiagramShape继承。这就是为什么RadDiagram不接受我的自定义形状,我创建了源自RadDiagram的MyDesigner,并覆盖了this.Drop+=MyDesigner\u Drop 为此,我使用了这个层次结构 详情如下: <te
<telerik:RadDiagramToolbox Grid.Column="0" Grid.RowSpan="3"
Header="{Binding SelectedItem.Header, RelativeSource={RelativeSource Self}}"
Visibility="{Binding IsChecked, ElementName=toolboxButton, Converter={StaticResource BooleanToVisibilityConverter}}">
<telerik:RadDiagramToolboxGroup Header=" Charts ">
<telerik:RadDiagramToolboxItem Name="TimeChartIcon" Background="Transparent">
<telerik:RadDiagramShape Name="TimeChartIcon1" Background="Transparent" BorderBrush="Transparent">
<Image Source="/Fathom.TestDiagram;component/Images/TimeChartIcon.png"
Stretch="UniformToFill"
Name="TimeChartIcon2"/>
</telerik:RadDiagramShape>
</telerik:RadDiagramToolboxItem>
<telerik:RadDiagramToolboxItem Background="Transparent">
<telerik:RadDiagramShape Name="ValueChartIcon" Background="Transparent" BorderBrush="Transparent">
<Image Source="/Fathom.TestDiagram;component/Images/ValueChartIcon.png"
Stretch="Fill"/>
</telerik:RadDiagramShape>
</telerik:RadDiagramToolboxItem>
</telerik:RadDiagramToolboxGroup>
<telerik:RadDiagramToolboxGroup Header=" Others "/>
</telerik:RadDiagramToolbox>
我得到的是,我可以拖动RadDiagramShape,它包含RadDiagramToolbox中的一个图像,并将其丢弃,因为RadDiagramShape在RadDiagramShape中包含相同的图像。我如何在新删除的实例中拥有该映像
但我想做的是,我想在MyDesigner_Drag事件中检查任何信息,让我知道用户为了从中创建实例而拖放的自定义形状。如名称或内容->图像源
我可以看到该项。内容是一个图像,但我无法访问名称或图像源,也无法看到在调试模式下用Xaml代码硬编码的图像的名称或源
droppedShape.Background = Brushes.Transparent;
droppedShape.Position = e.GetPosition(this);
droppedShape.BorderBrush = Brushes.Transparent;
droppedShape.BorderThickness = new Thickness(2);
droppedShape.Padding = new Thickness(0);
this.Items.Add(droppedShape);