WPF/設定を保存する
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&tag(WPF, 設定を保存する);
*目次 [#rc2142b8]
#contents
*参考情報 [#n2533f35]
-[[.net - c# - approach for saving user settings in a WPF...
-[[User Settings Applied - CodeProject:http://www.codepro...
-[[Configuring Application/User Settings in WPF the easy ...
*Settings.settingsを使う方法 [#tb8c70cd]
**基本 [#v8902b74]
-<プロジェクトルート>\PropertiesにあるSettings.settingsを...
-Settings.settingsの内容はapp.configというxmlファイルに保...
-実行時の情報保存様ファイルは〜.exe.configというファイル...
**サンプル [#v8d5b331]
***概要 [#ve9b5a09]
-Messageという文字列型の設定値をTextBoxにバインドする。
-保存ボタンを押したら保存。次回に同じ値が読み込まれる。
***設定値の作成 [#af0ca5e3]
-ソリューションエクスプローラーでProperties\Settings.sett...
,名前,型,スコープ
,Message,string,ユーザー
***MainWindow.xaml [#gf27ef4b]
-DataContext(=MainWindowViewModel)のMessageプロパティをTe...
-保存ボタンをおしたときハンドラで保存する。
#pre{{
<Window x:Class="SettingsDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xa...
xmlns:x="http://schemas.microsoft.com/winfx/2006/...
Title="MainWindow" Height="200" Width="200">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<TextBox Margin="10" Text="{Binding Message}"></T...
<Button Grid.Row="1" Click="button_Clicked">保存<...
</Grid>
</Window>
}}
***MainWindow.xaml.cs [#o3893223]
-MainWindowViewModelをDataContextに代入。。
-保存ボタンが押されたときのイベントハンドラbutton_Clicked...
#pre{{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new MainWindowViewModel();
}
private void button_Clicked(object sender, Routed...
{
Properties.Settings.Default.Save();
}
}
}}
***MainWindowViewModel.cs [#g2c225fa]
-MessageプロパティはProperties.Settings.Default.Messageの...
#pre{{
public class MainWindowViewModel :INotifyPropertyChan...
{
public string Message
{
get
{
return Properties.Settings.Default.Message;
}
set
{
Properties.Settings.Default.Message = val...
NotifyPropertyChanged("Message");
}
}
#region INotifyPropertyChanged メンバー
public event PropertyChangedEventHandler Property...
public void NotifyPropertyChanged(string property...
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChanged...
}
}
#endregion
}}
終了行:
&tag(WPF, 設定を保存する);
*目次 [#rc2142b8]
#contents
*参考情報 [#n2533f35]
-[[.net - c# - approach for saving user settings in a WPF...
-[[User Settings Applied - CodeProject:http://www.codepro...
-[[Configuring Application/User Settings in WPF the easy ...
*Settings.settingsを使う方法 [#tb8c70cd]
**基本 [#v8902b74]
-<プロジェクトルート>\PropertiesにあるSettings.settingsを...
-Settings.settingsの内容はapp.configというxmlファイルに保...
-実行時の情報保存様ファイルは〜.exe.configというファイル...
**サンプル [#v8d5b331]
***概要 [#ve9b5a09]
-Messageという文字列型の設定値をTextBoxにバインドする。
-保存ボタンを押したら保存。次回に同じ値が読み込まれる。
***設定値の作成 [#af0ca5e3]
-ソリューションエクスプローラーでProperties\Settings.sett...
,名前,型,スコープ
,Message,string,ユーザー
***MainWindow.xaml [#gf27ef4b]
-DataContext(=MainWindowViewModel)のMessageプロパティをTe...
-保存ボタンをおしたときハンドラで保存する。
#pre{{
<Window x:Class="SettingsDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xa...
xmlns:x="http://schemas.microsoft.com/winfx/2006/...
Title="MainWindow" Height="200" Width="200">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<TextBox Margin="10" Text="{Binding Message}"></T...
<Button Grid.Row="1" Click="button_Clicked">保存<...
</Grid>
</Window>
}}
***MainWindow.xaml.cs [#o3893223]
-MainWindowViewModelをDataContextに代入。。
-保存ボタンが押されたときのイベントハンドラbutton_Clicked...
#pre{{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new MainWindowViewModel();
}
private void button_Clicked(object sender, Routed...
{
Properties.Settings.Default.Save();
}
}
}}
***MainWindowViewModel.cs [#g2c225fa]
-MessageプロパティはProperties.Settings.Default.Messageの...
#pre{{
public class MainWindowViewModel :INotifyPropertyChan...
{
public string Message
{
get
{
return Properties.Settings.Default.Message;
}
set
{
Properties.Settings.Default.Message = val...
NotifyPropertyChanged("Message");
}
}
#region INotifyPropertyChanged メンバー
public event PropertyChangedEventHandler Property...
public void NotifyPropertyChanged(string property...
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChanged...
}
}
#endregion
}}
ページ名: