public Border AddEventBlock(Canvas canvas, Rect rect, EventBorderViewModel evt, bool isUnbound)
        {
            canvas.Children.Add(GenerateShadowEventBorder(canvas, rect, evt));

            var brd = GenerateGeneralEventBorder(canvas, rect, evt);

            canvas.Children.Add(brd);
            var grid = new Grid();

            brd.Child = grid;

            var blck = GetVacantTextBlock();

            blck.VerticalAlignment = VerticalAlignment.Top;
            blck.HorizontalAlignment = HorizontalAlignment.Center;
            blck.Text = evt.Title;
            grid.Children.Add(blck);

            if (isUnbound)
            {
                brd.Style = canvas.FindResource("UnboundEventItemBorder") as Style;
            }
            else
            {
                TextBlock deletableTextBlock = new TextBlock();
                deletableTextBlock.Style = canvas.FindResource("DeletableTextBlock") as Style;
                brd.Style = canvas.FindResource("EventItemBorder") as Style;
                grid.Children.Add(deletableTextBlock);
            }

            return brd;
        }
 private void DeleteEventItem(EventBorderViewModel delModel)
 {
     if (delModel != null)
     {
         if (ShowDialogManager.ShowMessageBox("このイベントを削除してもいいですか?\n(選択した人物に関わらず同じイベントは全部消えます)", "確認", MessageBoxButton.YesNo, MessageBoxImage.Question)
             == MessageBoxResult.Yes)
         {
             _timelineViewModel.DeleteEvent(delModel);
         }
     }
 }
 public abstract String GetOverView(EventBorderViewModel evt);
        public Border GenerateShadowEventBorder(Canvas canvas, Rect rect, EventBorderViewModel evt)
        {
            var brd = GenerateGeneralEventBorder(canvas, rect, evt);

            brd.Effect = new DropShadowEffect
            {
                Color = new Color { A = 255, R = 219, G = 219, B = 219 },
                Direction = 295,
                ShadowDepth = 5,
                Opacity = 5
            };

            return brd;
        }
        public virtual Border GenerateGeneralEventBorder(Canvas canvas, Rect rect, EventBorderViewModel evt)
        {
            var brd = VacantBorder(1,1);
            brd.CornerRadius = new CornerRadius(2, 2, 2, 2);
            brd.DataContext = evt;
            brd.ToolTip = GetOverView(evt);

            brd.Width = rect.Width;
            brd.Height = rect.Height;

            Canvas.SetTop(brd, rect.Top);
            Canvas.SetLeft(brd, rect.Left);

            return brd;
        }