Beispiel #1
0
 private void OnSelectionChanged()
 {
     if (SelectionChangedCommand != null && SelectionChangedCommand.CanExecute(SelectedItems))
     {
         SelectionChangedCommand.Execute(SelectedItems);
     }
 }
 private void SelectedItemChangedCallback(object sender, RoutedPropertyChangedEventArgs <object> e)
 {
     if (SelectionChangedCommand != null && SelectionChangedCommand.CanExecute(e.NewValue))
     {
         SelectionChangedCommand.Execute(e.NewValue);
     }
 }
        protected override void OnSelectionChanged(SelectionChangedEventArgs e)
        {
            base.OnSelectionChanged(e);

            if (SelectionChangedCommand != null && SelectionChangedCommand.CanExecute(null))
            {
                SelectionChangedCommand.Execute(null);
            }
        }
        private void OnInitialized(object sender, EventArgs e)
        {
            var diagram = sender as RadDiagram;

            if (diagram == null)
            {
                return;
            }

            diagram.SelectionMode     = Telerik.Windows.Diagrams.Core.SelectionMode.Single;
            diagram.SelectionChanged += (s, args) =>
            {
                if (args.AddedItems != null)
                {
                    var selectedShapes = args.AddedItems
                                         .OfType <RadDiagramShape>()
                                         .Where(x => x.DataContext is HudBaseToolViewModel)
                                         .ToArray();

                    if (selectedShapes.Length > 0 && SelectionChangedCommand != null && SelectionChangedCommand.CanExecute(null))
                    {
                        SelectionChangedCommand.Execute(null);
                    }
                }
            };

            var table = CreateTableRadDiagramShape();

            var tableBackgroundImage = new BitmapImage(new Uri(BaseUriHelper.GetBaseUri(diagram), HudDefaultSettings.TableBackgroundImage));

            RenderOptions.SetBitmapScalingMode(tableBackgroundImage, BitmapScalingMode.HighQuality);
            RenderOptions.SetEdgeMode(tableBackgroundImage, EdgeMode.Aliased);

            table.Background = new ImageBrush(tableBackgroundImage);

            diagram.AddShape(table);

            table.X = DiagramActualWidth(diagram) / 2 - table.Width / 2;
            table.Y = diagram.Height / 2 - table.Height / 2;

            dragDropShape = CreateDragDropRadDiagramShape();
            DriveHUD.Common.Wpf.AttachedBehaviors.DragDrop.SetIsDragTarget(dragDropShape, true);
            diagram.AddShape(dragDropShape);
        }