/// <summary>
 /// Initializes a new instance of the <see cref="PopupSizeChangedEvent"/> class.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="popupSize">Size of the popup.</param>
 public PopupSizeChangedEvent(PopupBuilder sender, double popupSize)
 {
     Sender = sender;
     PopupSize = popupSize;
 }
        private bool ProcessSpecificPropertyLogic()
        {
            if (FieldViewModel == null)
                return false;

            var richAttr =
                (RichTextAttribute)_propertyInfo.GetCustomAttributes(typeof(RichTextAttribute), true)
                                                .Select(d => d).FirstOrDefault();

            if (richAttr != null && FieldViewModel != null)
            {
                var popup = new PopupBuilder();
                Ioc.SatisfyImportsOnce(popup);

                var previousValue = FieldViewModel.Value;

                popup.SetIsModal(true)
                    .SetCaption(string.Format(CultureInfo.InvariantCulture,
                        "Modify{0} field", _column != null ? " " + _column.Header : string.Empty))
                    .SetContent(new ContentControl
                    {
                        Content = this,
                        ContentTemplate = new DataTypeDescriptor().EditTemplate
                    })
                    .SetPosition(PopupPosition.Center)
                    .Show(
                        () => { },
                        () =>
                        {
                            FieldViewModel.Value = previousValue;
                            return true;
                        });

                return false;
            }

            return true;
        }