Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

Application.Propertiesを使用して状態を管理する

Application.Propertiesを使用して状態を管理します。Applicationオブジェクトはアプリケーションのライフタイム全体で使用可能です。
Propertiesは任意のオブジェクトを他の任意のオブジェクトをキーにして格納することができます。

ソースコード

App.xaml
<Application x:Class="WpfApplication3.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
</Application>
App.xaml.cs
using System.Windows;

namespace WpfApplication3 {
    public partial class App : Application {
        public App() {
            this.Properties["Msg"] = "こんにちは";
        }
    }
}
MainWindow.xaml
<Window x:Class="WpfApplication3.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <TextBox Name="textBox" />
</Window>
MainWindows.xaml.cs
using System.Windows;

namespace WpfApplication3 {
    public partial class MainWindow : Window {
        public MainWindow() {
            InitializeComponent();

            this.textBox.Text = (string) Application.Current.Properties["Msg"];
        }
    }
}

アプリ実行