我RadDiagram
用于在我们的系统中制作设计师。我的屏幕中有三个部分,(RadDiagram
和RadDiagramToolBox
) ToolBar
。
我必须显示的RadDiagramToolBox
是图标(我的自定义形状的图像)。出于某种原因,我的自定义形状不能继承自RadDiagramShape
. 这就是为什么RadDiagram
不接受我的自定义形状,而我制作MyDesigner
的是继承自RadDiagram
,并覆盖this.Drop += MyDesigner_Drop;
为此,我使用了这个层次结构http://www.telerik.com/forums/raddiagramtoolbox-xaml-example#IUr1zXo3zUq-9NytMbeamw ,如下所示:
<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>
在MyDesigner_Drag
我使用了这个http://www.telerik.com/forums/raddiagramtoolbox-drag-drop#trdWTLlUNEKga8H6yFFsqQ
并且我在 Admin Tina 的代码之后添加了这些代码行:
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);
我得到的是,我可以从中拖动RadDiagramShape
包含图像RadDiagrmToolBox
并将其作为RadDiagramShape
包含相同图像的RadDiagramShape
. (我怎样才能在新删除的实例中拥有图像?)
但我想要的是,我想在MyDesigner_Drag
事件内部检查任何信息,让我知道用户拖放以从中创建实例的自定义形状。像(名称或内容->图像源)我可以看到该项目。内容是图像,但我无法访问名称或图像源,也看不到我硬编码的图像的名称或来源Xaml 代码处于调试模式。