protected override void OnMouseEnter(EventArgs e)
            {
                Background = new SolidBrush((GdiPresentation.Color)SystemColors.Highlight);

                var highlightText = (GdiPresentation.Color)SystemColors.HighlightText;

                _subject.ForeColor = highlightText;
                _subject.FontStyle = FontStyle.Bold | FontStyle.Underline;

                _message.ForeColor = highlightText;
                _created.ForeColor = highlightText;

                _close.Visibility = Visibility.Visible;
            }
            public Item(NotificationsControl control, NotificationItem item)
            {
                _control = control;
                _item    = item;

                BorderThickness = new Thickness(4, 0, 0, 0);
                Background      = Brush.Transparent;
                Padding         = new Thickness(5);
                Cursor          = Cursor.Hand;

                switch (item.Priority)
                {
                case NiNotificationItemPriority.Informational:
                    BorderBrush = new SolidBrush((GdiPresentation.Color)WarningColor);
                    break;

                case NiNotificationItemPriority.Critical:
                    BorderBrush = new SolidBrush((GdiPresentation.Color)ErrorColor);
                    break;

                default:
                    BorderBrush = Brush.Transparent;
                    break;
                }

                var grid = new Grid
                {
                    ColumnDefinitions =
                    {
                        new ColumnDefinition(new GridLength(GridUnitType.Star, 1)),
                        new ColumnDefinition(GridLength.Auto)
                    },
                    RowDefinitions =
                    {
                        new RowDefinition(GridLength.Auto)
                    }
                };

                Content = grid;

                var information = new StackPanel
                {
                    Orientation = Orientation.Vertical
                };

                grid.Children.Add(information);

                _subject = new TextBlock
                {
                    FontStyle    = FontStyle.Bold,
                    TextTrimming = TextTrimming.CharacterEllipsis
                };
                information.Children.Add(_subject);

                _message = new TextBlock
                {
                    Wrap = true
                };
                Grid.SetRow(_message, 1);
                information.Children.Add(_message);

                _created = new TextBlock
                {
                    ForeColor    = (GdiPresentation.Color)SystemColors.GrayText,
                    TextTrimming = TextTrimming.CharacterEllipsis,
                    Margin       = new Thickness(0, 2, 0, 0)
                };
                Grid.SetColumnSpan(_created, 2);
                Grid.SetRow(_created, 2);
                information.Children.Add(_created);

                _close = new GdiPresentation.Image
                {
                    Margin            = new Thickness(3),
                    Bitmap            = NotificationClose,
                    Cursor            = Cursor.Arrow,
                    Visibility        = Visibility.Hidden,
                    Background        = Brush.Transparent,
                    VerticalAlignment = VerticalAlignment.Top
                };
                _close.MouseUp += _close_MouseUp;
                Grid.SetColumn(_close, 1);
                grid.Children.Add(_close);

                UpdateFromItem();
            }