private static void PropertyChangedCallback(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
        {
            CloseablePanel panel    = dependencyObject as CloseablePanel;
            GridSplitter   splitter = dependencyPropertyChangedEventArgs.NewValue as GridSplitter;

            splitter.DragStarted += (sender, args) => panel.Activate();
        }
        private static void HeaderChangedCallback(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
        {
            CloseablePanel panel = dependencyObject as CloseablePanel;

            panel.HeadetTextBlock.Text = dependencyPropertyChangedEventArgs.NewValue as string;
        }
        private static void ContentChangedCallback(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
        {
            CloseablePanel panel = dependencyObject as CloseablePanel;

            panel.Presenter.Content = dependencyPropertyChangedEventArgs.NewValue;
        }