Создайте пользовательский экземпляр из значков в RadDiagramToolBox

Я использую RadDiagram для создания дизайнера в нашей системе. У меня есть три части на моем экране, (RadDiagram, RadDiagramToolBox а также ToolBar).

Что я должен показать в моем RadDiagramToolBox являются иконки (изображения для моих пользовательских форм). По какой-то причине мои пользовательские формы не могут наследоваться от RadDiagramShape, Вот почему RadDiagram не принял мои пользовательские формы, и я сделал MyDesigner который наследует от RadDiagramи переопределить this.Drop += MyDesigner_Drop;

Для этого я использовал эту иерархию http://www.telerik.com/forums/raddiagramtoolbox-xaml-example следующим образом:

<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 и добавил следующие строки кода после кодов 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 в режиме отладки.

0 ответов

Другие вопросы по тегам