Difference between revisions of "Confirm/Information Dialog with Caliburn Micro"

From Richard's Wiki
Jump to: navigation, search
(Created page with "InformationDialogView.xaml: <code> <Window x:Class="WPFSample1.InformationDialogView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="ht...")
 
Line 53: Line 53:
 
  </Window>
 
  </Window>
  
 +
 +
</code>
 +
 +
InformationDialogView.xaml.cs:
 +
 +
<code>
 +
using System.Windows;
 +
using System.Windows.Controls;
 +
using System.Windows.Input;
 +
namespace WPFSample1
 +
{
 +
    /// <summary>
 +
    /// Interaction logic for InformationDialogView.xaml
 +
    /// </summary>
 +
    public partial class InformationDialogView : Window
 +
    {
 +
        public InformationDialogView()
 +
        {
 +
            InitializeComponent();
 +
        }
 +
        private void ConfirmView_PreviewKeyDown(object sender, KeyEventArgs e)
 +
        {
 +
            if (e.Key == Key.Escape)
 +
            {
 +
                Window window = GetWindow(this);
 +
                if (window != null)
 +
                {
 +
                    window.Close();
 +
                }
 +
            }
 +
        }
 +
        private void ConfirmView_OnLoaded(object sender, RoutedEventArgs e)
 +
        {
 +
            Button closeButton = Close;
 +
            closeButton.Focus();
 +
        }
 +
    }
 +
}
  
 
</code>
 
</code>

Revision as of 17:33, 8 October 2013

InformationDialogView.xaml:

<Window 
   x:Class="WPFSample1.InformationDialogView"
   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
   xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
   mc:Ignorable="d" 
   Width="300"
   Height="300"
   d:DesignHeight="300" 
   d:DesignWidth="300"
   Focusable="True"
   Loaded="ConfirmView_OnLoaded"
   PreviewKeyDown="ConfirmView_PreviewKeyDown" 
   WindowStyle="ToolWindow" 
   WindowStartupLocation="CenterOwner">
   <Grid VerticalAlignment="Stretch"
         HorizontalAlignment="Stretch"
         Background="{Binding Path=Background, ElementName=Text}"
         >
       <Grid.RowDefinitions>
           <RowDefinition Height="*" />
           <RowDefinition Height="auto" />
       </Grid.RowDefinitions>
       <ScrollViewer 
           VerticalScrollBarVisibility="Auto" 
           HorizontalScrollBarVisibility="Auto" 
           VerticalAlignment="Stretch"
           HorizontalAlignment="Stretch"
           >
           <TextBox
               BorderThickness="0"
               IsReadOnly="True"
               VerticalContentAlignment="Center"
               TextAlignment="Center"
               HorizontalAlignment="Stretch"
               VerticalAlignment="Stretch"
               x:Name="Text" />
       </ScrollViewer>
       <Button Height="20" 
               Content="OK"
               HorizontalAlignment="Center"
               VerticalAlignment="Bottom"
               Grid.Row="1"
               x:Name="Close"
               />
   </Grid>
</Window>


InformationDialogView.xaml.cs:

using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
namespace WPFSample1
{
   /// <summary>
   /// Interaction logic for InformationDialogView.xaml
   /// </summary>
   public partial class InformationDialogView : Window
   {
       public InformationDialogView()
       {
           InitializeComponent();
       }
       private void ConfirmView_PreviewKeyDown(object sender, KeyEventArgs e)
       {
           if (e.Key == Key.Escape)
           {
               Window window = GetWindow(this);
               if (window != null)
               {
                   window.Close();
               }
           }
       }
       private void ConfirmView_OnLoaded(object sender, RoutedEventArgs e)
       {
           Button closeButton = Close;
           closeButton.Focus();
       }
   }
}