wpf/silverlight 发表于 2012-12-19 21:12:22

ApplicationSettingsBase: 关掉WPF 窗口后,再次打开,显示在上次关闭的位置

<div id="cnblogs_post_body">体验比较好的设计,用户再次打开程序的时候,还原到上次关闭前的位置。
当然了,用户上次设置的颜色,字体等信息,都可以用同样的办法搞定。
<div class="cnblogs_code"> 1   /// <summary> 2   /// Interaction logic for MainWindow.xaml 3   /// </summary> 4   public partial class MainWindow : Window 5     { 6         WindowApplicationSettings settings = new WindowApplicationSettings(); 7 8         public MainWindow() 9       {10             InitializeComponent();11             this.Loaded += new RoutedEventHandler(MainWindow_Loaded);12             this.Closing += new CancelEventHandler(MainWindow_Closing);13       }14 15         void MainWindow_Closing(object sender, CancelEventArgs e)16       {17             settings.WinText = tb.Text;18             settings.WinLocation = new Point(this.Left, this.Top);19             settings.Save();20       }21 22         void MainWindow_Loaded(object sender, RoutedEventArgs e)23       {24             settings.Reload();25             tb.Text = settings.WinText;26             this.Left = settings.WinLocation.X;27             this.Top = settings.WinLocation.Y;28       }29     }30 31   /// <summary>32   /// Helper class used to save the settings in configuration file33   /// </summary>34   public class WindowApplicationSettings : ApplicationSettingsBase35     {36       37         public String WinText38       {39             get { return (String)this["WinText"]; }40             set { this["WinText"] = value; }41       }42 43       44         "0, 0")]45         public Point WinLocation46       {47             get { return (Point)(this["WinLocation"]); }48             set { this["WinLocation"] = value; }49       }50 51   }
页: [1]
查看完整版本: ApplicationSettingsBase: 关掉WPF 窗口后,再次打开,显示在上次关闭的位置