ホーム - MakCraft
https://www.makcraft.com/22-category-tools/classspec.feed
2024-03-29T17:19:29+09:00
MakCraft
contact@makcraft.com
Joomla! - Open Source Content Management
MakCraft 名前空間の仕様
2015-12-28T04:16:38+09:00
2015-12-28T04:16:38+09:00
https://www.makcraft.com/specification.html
Administrator
contact@makcraft.com
<h2>MakCraft 名前空間のライブラリ仕様</h2>
<p> </p>
<p>.NET Framework で利用可能なライブラリ、<a href="https://www.makcraft.com/specs/makviewmodelbase/">MakCraft.ViewModelBase パッケージの仕様</a>。</p>
<p>.NET Core で利用可能なライブラリ、<a href="https://www.makcraft.com/specs/makviewmodelbasecore/">MakCraft.ViewModelBaseCore パッケージの仕様</a>。</p>
<h2>MakCraft 名前空間のライブラリ仕様</h2>
<p> </p>
<p>.NET Framework で利用可能なライブラリ、<a href="https://www.makcraft.com/specs/makviewmodelbase/">MakCraft.ViewModelBase パッケージの仕様</a>。</p>
<p>.NET Core で利用可能なライブラリ、<a href="https://www.makcraft.com/specs/makviewmodelbasecore/">MakCraft.ViewModelBaseCore パッケージの仕様</a>。</p>
TransitionViewModelBase クラス関連の仕様
2014-09-25T05:17:45+09:00
2014-09-25T05:17:45+09:00
https://www.makcraft.com/22-category-tools/classspec/33-transitionviewmodelbaseclassspecs.html
Administrator
contact@makcraft.com
<h1>TransitionViewModelBase クラス関連の仕様</h1>
<hr />
<h2 id="TransitionViewModelBase">TransitionViewModelBase</h2>
<p>データ検証と画面遷移及び表示状態設定機能を持つビューモデルの基底クラス</p>
<h3>構文</h3>
<pre><code>public abstract class TransitionViewModelBase : <a href="https://www.makcraft.com/#DialogViewModelBase">DialogViewModelBase</a>, <a href="https://www.makcraft.com/#IWindowCloseCommand">IWindowCloseCommand</a>, <a href="https://www.makcraft.com/#IViewModelStatus">IViewModelStatus</a>, <a href="https://www.makcraft.com/#IReceiveFinished">IReceiveFinished</a></code></pre>
<h3>プロパティ</h3>
<pre><code>public <a href="https://www.makcraft.com/#WindowAction">WindowAction</a> DisplayMode { get; protected set; }</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウの表示状態を取得・設定します。<br />View 側で PropertyChangedTrigger の Binding と DisplayModeAction の DisplayMode にバインドしてください。</dd>
<dt></dt>
</dl>
<pre><code>protected <a href="https://www.makcraft.com/#TransitionViewModelBase">TransitionViewModelBase</a> PreviousViewModel { get; }</code></pre>
<dl>
<dt></dt>
<dd>前画面のビューモデルを取得します。</dd>
<dt></dt>
</dl>
<pre><code>public override object Container {get; set; }</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウ作成元からのデータ受け取り用プロパティ</dd>
<dt></dt>
</dl>
<pre><code>public bool CanCloseWindow { get; }</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウを閉じることが可能かを取得します。</dd>
<dt></dt>
</dl>
<pre><code>public <a href="https://www.makcraft.com/#ViewModelStatus">ViewModelStatus</a> CurrentStatus { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>ビューモデルの処理状態を取得・設定します。</dd>
</dl>
<h3>メソッド</h3>
<pre><code>protected virtual bool WindowCloseCanExecute(object param)</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウが閉じることの出来る状態かどうかを返します。<br />仮想メソッドは常に 'true' を返します。制御が必要な場合はオーバーライドしてください。</dd>
<dt></dt>
</dl>
<pre><code>protected virtual void OnWindowClosed()</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウがクローズされた際の操作</dd>
<dt></dt>
</dl>
<pre><code>protected virtual void TransitionComplete()</code></pre>
<dl>
<dt></dt>
<dd>一連の画面遷移の完了を設定します。</dd>
<dt></dt>
</dl>
<pre><code>public virtual void WindowClose()</code></pre>
<dl>
<dt></dt>
<dd>ビューモデルからウィンドウへ Close を通知するメソッドです。</dd>
<dt></dt>
</dl>
<pre><code>public virtual void OnFinished(ITransContainer container)</code></pre>
<dl>
<dt></dt>
<dd>画面遷移完了時に実行する処理です。</dd>
</dl>
<h3>コマンド</h3>
<pre><code>public ICommand WindowCloseCommand { get; }</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウを閉じるコマンド</dd>
<dt></dt>
</dl>
<pre><code>public ICommand WindowClosedCommand { get; }</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウがクローズされた際の操作コマンド<br />ウィンドウの Closed イベントが発生した際に呼び出されるようにしてください。</dd>
</dl>
<hr />
<h2 id="DialogViewModelBase">DialogViewModelBase</h2>
<p>データ検証とダイアログ表示の基本機能を提供するビューモデルの基底クラス</p>
<h3>構文</h3>
<pre><code>public abstract class DialogViewModelBase : <a href="https://www.makcraft.com/specification/32-validationviewmodelbaseclassspecs.html#ValidationViewModelBase">ValidationViewModelBase</a>, <a href="https://www.makcraft.com/#IDialogTransferContainer">IDialogTransferContainer</a></code></pre>
<h3>プロパティ</h3>
<pre><code>public object CommunicationDialog { get; protected set; }</code></pre>
<dl>
<dt></dt>
<dd>作成する Dialog に渡すデータを取得・設定します。<br />View 側で DialogTransferDataAction の Parameter にバインドしてください。</dd>
<dt></dt>
</dl>
<pre><code>public Type DialogType { get; protected set; }</code></pre>
<dl>
<dt></dt>
<dd>表示するカスタムダイアログボックスの型の情報<br />View 側で DialogTransferDataAction の DialogType にバインドしてください。</dd>
<dt></dt>
</dl>
<pre><code>public virtual object Container { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウ作成元から渡されたデータの受取用</dd>
<dt></dt>
</dl>
<pre><code>public Action<bool?> DialogActionCallback { get; protected set; }</code></pre>
<dl>
<dt></dt>
<dd>ダイアログが閉じられた後に実行するコールバックを取得・設定します。<br />View 側で DialogTransferDataAction の ActionCallBack にバインドしてください。</dd>
<dt></dt>
</dl>
<pre><code>public object ResultViewModel { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>ダイアログ表示で生成されたダイアログのビューモデルへの参照を取得・設定します。<br />(ダイアログで設定された値の参照用)<br /> View 側で DialogTransferDataAction の ResultViewModel にバインドしてください。</dd>
<dt></dt>
</dl>
<pre><code>public <a href="https://www.makcraft.com/#MessageDialogActionParameter">MessageDialogActionParameter</a> MessageDialogActionParam { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>MessageDialogActionに渡すパラメーター<br />View 側で PropertyChangedTrigger の Binding と MessageDialogAction の Parameter にバインドしてください。</dd>
<dt></dt>
</dl>
<pre><code>public Action<MessageBoxResult> MessageDialogActionCallback { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>MessageDialogActionの実行後に呼ばれるCallBack<br />View 側で MessageDialogAction の ActionCallBack にバインドしてください。</dd>
</dl>
<h3>メソッド</h3>
<pre><code>protected virtual void OnContainerReceived(object container)</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウ作成元からのデータを受け取った際に行う処理</dd>
</dl>
<hr />
<h2 id="ModalViewModelBase">ModalViewModelBase</h2>
<p>データ検証とモーダルダイアログ表示機能を持つビューモデルの基底クラス</p>
<h3>構文</h3>
<pre><code>public abstract class ModalViewModelBase : <a href="https://www.makcraft.com/#DialogViewModelBase">DialogViewModelBase</a></code></pre>
<h3>プロパティ</h3>
<pre><code>public bool? Result { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>View 側の DialogResult セット用の PropertyChangedTrigger へバインドします。<br /> View 側で PropertyChangedTrigger の Binding と ChangePropertyAction の Value にバインドしてください。</dd>
</dl>
<h3>メソッド</h3>
<pre><code>protected virtual void OkExecute()</code></pre>
<dl>
<dt></dt>
<dd>モーダルダイアログの OK ボタンクリック時の処理<br /> 仮想メソッドは Window の DialogResult プロパティに true をセットする動作のみです。制御が必要な場合はオーバーライドしてください。</dd>
<dt></dt>
</dl>
<pre><code>protected virtual bool OkCanExecute(object param)</code></pre>
<dl>
<dt></dt>
<dd>OkCommand の 有効/無効 を返します。<br /> データ検証エラーの有無を返します。データ検証エラーを用いないで判断したい場合はオーバーライドしてください。</dd>
</dl>
<h3>コマンド</h3>
<pre><code>public ICommand OkCommand { get; }</code></pre>
<dl>
<dt></dt>
<dd>OK ボタン用のコマンドです。<br /> ボタンの有効・無効をコントロールするため、コマンドで Window の DialogResult を設定します。</dd>
</dl>
<hr />
<h2 id="TransitionContainerBase">TransitionContainerBase</h2>
<p>画面遷移の際のデータコンテナの基底クラス</p>
<h3>構文</h3>
<pre><code>public class TransitionContainerBase : <a href="https://www.makcraft.com/#ITransContainer">ITransContainer</a></code></pre>
<h3>コンストラクタ</h3>
<pre><code>public TransitionContainerBase(string key, <a href="https://www.makcraft.com/#TransitionViewModelBase">TransitionViewModelBase</a> viewModel)</code></pre>
<dl>
<dt></dt>
<dd>画面遷移のキー及び遷移開始元ビューモデルを設定して画面遷移の際のデータコンテナを作成します。</dd>
</dl>
<h3>プロパティ</h3>
<pre><code>public string Key { get; }</code></pre>
<dl>
<dt></dt>
<dd>遷移を区別するためのキーを取得します。</dd>
<dt></dt>
</dl>
<pre><code>public <a href="https://www.makcraft.com/#TransitionViewModelBase">TransitionViewModelBase</a> TransStartViewModel { get; }</code></pre>
<dl>
<dt></dt>
<dd>遷移動作の開始元ビューモデルを取得します。</dd>
<dt></dt>
</dl>
<pre><code>public <a href="https://www.makcraft.com/#TransitionViewModelBase">TransitionViewModelBase</a> PreviousViewModel { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>前画面のビューモデルを取得・設定します。</dd>
</dl>
<hr />
<h2 id="ITransContainer">ITransContainer</h2>
<p>画面遷移の際のデータコンテナのインターフェイス</p>
<h3>構文</h3>
<pre><code>public interface ITransContainer</code></pre>
<h3>プロパティ</h3>
<pre><code>string Key { get; }</code></pre>
<dl>
<dt></dt>
<dd>遷移を区別するためのキーを取得します。</dd>
<dt></dt>
</dl>
<pre><code><a href="https://www.makcraft.com/#TransitionViewModelBase">TransitionViewModelBase</a> TransStartViewModel { get; }</code></pre>
<dl>
<dt></dt>
<dd>遷移動作の開始元ビューモデルを取得します。</dd>
<dt></dt>
</dl>
<pre><code><a href="https://www.makcraft.com/#TransitionViewModelBase">TransitionViewModelBase</a> PreviousViewModel { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>前画面のビューモデルを取得・設定します。</dd>
</dl>
<hr />
<h2 id="ViewModelUtility">ViewModelUtility</h2>
<p>ViewModel 関連のユーティリティクラス</p>
<h3>構文</h3>
<pre><code>public static class ViewModelUtility</code></pre>
<h3>メソッド</h3>
<pre><code>public static <a href="https://www.makcraft.com/specification/30-viewmodelbaseclassspecs.html#ViewModelBase">ViewModelBase</a> GetMainWindowViewModel()</code></pre>
<dl>
<dt></dt>
<dd>MainWindow となっている Window の ViewModel を返します。</dd>
<dt></dt>
</dl>
<pre><code>public static int Count(Type type)</code></pre>
<dl>
<dt></dt>
<dd>指定されたビューモデルのインスタンスの数を返します。</dd>
<dt></dt>
</dl>
<pre><code>public static IReadOnlyList<<a href="https://www.makcraft.com/specification/30-viewmodelbaseclassspecs.html#ViewModelBase">ViewModelBase</a>> GetViewModels(Type type)</code></pre>
<dl>
<dt></dt>
<dd>指定されたビューモデルのインスタンスの一覧を返します。</dd>
<dt></dt>
</dl>
<pre><code>public static void CloseViewModels(Type type)</code></pre>
<dl>
<dt></dt>
<dd>指定されたビューモデルのインスタンスの IWindowCloseCommand インターフェイス のWindowClose メソッドを実行します。</dd>
<dt></dt>
</dl>
<pre><code>public static bool IsReadyCloseAllWindows</code></pre>
<dl>
<dt></dt>
<dd>すべてのウィンドウが閉じることが可能か確認します。</dd>
</dl>
<hr />
<h2 id="DialogTransferDataAction">DialogTransferDataAction</h2>
<p>データを渡してモードレス ダイアログ ウィンドウを表示するアクション<br />ダイアログ側のビューモデルにデータ受取り用の「public object Container」プロパティが必要</p>
<h3>構文</h3>
<pre><code>public class DialogTransferDataAction : TriggerAction<FrameworkElement></code></pre>
<h3>プロパティ</h3>
<pre><code>public object Parameter { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>ダイアログウィンドウに渡すデータを格納</dd>
<dt></dt>
</dl>
<pre><code>public Type DialogType { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>表示するダイアログのクラス名</dd>
<dt></dt>
</dl>
<pre><code>public DialogModes DialogMode { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>ダイアログの表示種別</dd>
<dt></dt>
</dl>
<pre><code>public Action<bool?> ActionCallBack { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>ダイアログを閉じた際に実行するコールバック</dd>
<dt></dt>
</dl>
<pre><code>public object ResultViewModel { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>作成したウィンドウのビューモデルオブジェクトへの参照<br />ダイアログ側で設定したデータの参照用</dd>
</dl>
<hr />
<h2 id="DialogModes">DialogModes</h2>
<p>ダイアログの表示種別</p>
<h3>構文</h3>
<pre><code>public enum DialogModes</code></pre>
<h3>メンバー</h3>
<dl>
<dt>Modal</dt>
<dd>モーダル ダイアログとして表示する。</dd>
<dt>Modeless</dt>
<dd>モードレス ダイアログとして表示する。</dd>
</dl>
<hr />
<h2 id="DisplayModeAction">DisplayModeAction</h2>
<p>モードレス ウィンドウの表示変更アクション</p>
<h3>構文</h3>
<pre><code>public class DisplayModeAction : TriggerAction<FrameworkElement></code></pre>
<h3>プロパティ</h3>
<pre><code>public <a href="https://www.makcraft.com/#WindowAction">WindowAction</a> DisplayMode { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>変更する表示状態</dd>
</dl>
<hr />
<h2 id="ViewModelStatus">ViewModelStatus</h2>
<p>画面遷移を行うビューモデルの処理状況を表す列挙型です。</p>
<h3>構文</h3>
<pre><code>public enum ViewModelStatus</code></pre>
<dl>
<dt>Completed</dt>
<dd>完了</dd>
<dt>Halfway</dt>
<dd>未完了</dd>
</dl>
<hr />
<h2 id="WindowAction">WindowAction</h2>
<p>画面遷移を行うビューモデルへセットするウィンドウの状態を表す列挙型です。</p>
<h3>構文</h3>
<pre><code>public enum WindowAction</code></pre>
<h3>メンバー</h3>
<dl>
<dt>Show</dt>
<dd>表示する</dd>
<dt>Hide</dt>
<dd>非表示にする</dd>
<dt>Close</dt>
<dd>閉じる</dd>
</dl>
<hr />
<h2 id="MessageDialogAction">MessageDialogAction</h2>
<p>MessageBox を表示するアクション</p>
<h3>構文</h3>
<pre><code>public class MessageDialogAction : TriggerAction<FrameworkElement></code></pre>
<h3>プロパティ</h3>
<pre><code>public <a href="https://www.makcraft.com/#IMessageDialogActionParameter">IMessageDialogActionParameter</a> Parameter { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>メッセージボックスやダイアログを出すために必要となる情報を受け取る</dd>
<dt></dt>
</dl>
<pre><code>public Action<MessageBoxResult> ActionCallBack</code></pre>
<dl>
<dt></dt>
<dd>ダイアログでの選択結果をViewModelに通知するコールバックメソッド</dd>
</dl>
<hr />
<h2 id="MessageDialogActionParameter">MessageDialogActionParameter</h2>
<p>MessageDialogAction へ渡すパラメーター<br /> IsDialog が false のときには Button の設定は反映されません。</p>
<h3>構文</h3>
<pre><code>public class MessageDialogActionParameter : <a href="https://www.makcraft.com/#IMessageDialogActionParameter">IMessageDialogActionParameter</a></code></pre>
<h3>コンストラクタ</h3>
<pre><code>public MessageDialogActionParameter(string message, string caption) : this(message, caption, MessageBoxButton.OK, false)</code></pre>
<pre><code>public MessageDialogActionParameter(string message, string caption, MessageBoxButton button) : this(message, caption, button, true)</code></pre>
<pre><code>public MessageDialogActionParameter(string message, string caption, MessageBoxButton button, bool isDialog)</code></pre>
<h3>プロパティ</h3>
<pre><code>public string Message { get; protected set; }</code></pre>
<dl>
<dt></dt>
<dd>MessageBoxに表示するメッセージ</dd>
<dt></dt>
</dl>
<pre><code>public string Caption { get; protected set; }</code></pre>
<dl>
<dt></dt>
<dd>MessageBox に表示するタイトル</dd>
<dt></dt>
</dl>
<pre><code>public MessageBoxButton Button { get; protected set; }</code></pre>
<dl>
<dt></dt>
<dd>MessageBox に表示するボタン</dd>
<dt></dt>
</dl>
<pre><code>public bool IsDialog { get; protected set; }</code></pre>
<dl>
<dt></dt>
<dd>true:ダイアログ(ユーザ応答を処理する)、false:メッセージ</dd>
</dl>
<hr />
<h2 id="EventCommandAction">EventCommandAction</h2>
<p>イベント発生時にコマンドを実行するアクション<br />実行するコマンドの引数に発生したイベントの EventArgs を設定します。</p>
<h3>構文</h3>
<pre><code>public class EventCommandAction : TriggerAction<UIElement></code></pre>
<h3>プロパティ</h3>
<dl>
<dt>
<pre><code>public ICommand Command { get; set; }</code></pre>
</dt>
<dd>呼び出すコマンドを取得または設定します。</dd>
</dl>
<hr />
<h2 id="IDialogTransferContainer">IDialogTransferContainer</h2>
<p>生成元ウィンドウからのデータの受取用プロパティのインターフェイス</p>
<h3>構文</h3>
<pre><code>public interface IDialogTransferContainer</code></pre>
<h3>プロパティ</h3>
<pre><code>object Container { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>生成元ウィンドウからのデータの受取用プロパティ</dd>
</dl>
<hr />
<h2 id="IMessageDialogActionParameter">IMessageDialogActionParameter</h2>
<p>MessageDialogAction へ渡すパラメーターのインターフェイス<br />IsDialog が false のときには Button の設定は反映されません。</p>
<h3>構文</h3>
<pre><code>public interface IMessageDialogActionParameter</code></pre>
<h3>プロパティ</h3>
<pre><code>string Message { get; }</code></pre>
<dl>
<dt></dt>
<dd>MessageBoxに表示するメッセージ</dd>
<dt></dt>
</dl>
<pre><code>string Caption { get; }</code></pre>
<dl>
<dt></dt>
<dd>MessageBox に表示するタイトル</dd>
<dt></dt>
</dl>
<pre><code>MessageBoxButton Button { get; }</code></pre>
<dl>
<dt></dt>
<dd>MessageBox に表示するボタン</dd>
<dt></dt>
</dl>
<pre><code>bool IsDialog { get; }</code></pre>
<dl>
<dt></dt>
<dd>true:ダイアログ(ユーザ応答を処理する)、false:メッセージ</dd>
</dl>
<hr />
<h2 id="IReceiveFinished">IReceiveFinished</h2>
<p>画面遷移完了時の操作に用いるインターフェイスです。</p>
<h3>構文</h3>
<pre><code>interface IReceiveFinished</code></pre>
<h3>メソッド</h3>
<pre><code>void OnFinished(<a href="https://www.makcraft.com/#ITransContainer">ITransContainer</a> container)</code></pre>
<dl>
<dt></dt>
<dd>画面遷移操作完了時に実行されるメソッド</dd>
</dl>
<hr />
<h2 id="ITransContainer">ITransContainer</h2>
<p>画面遷移の際のデータコンテナのインターフェイス</p>
<h3>構文</h3>
<pre><code>public interface ITransContainer</code></pre>
<h3>プロパティ</h3>
<pre><code>string Key { get; }</code></pre>
<dl>
<dt></dt>
<dd>遷移を区別するためのキーを取得します。<br /> 一つのビューモデルで複数の画面遷移を持つ場合の処理の分岐用</dd>
<dt></dt>
</dl>
<pre><code><a href="https://www.makcraft.com/#TransitionViewModelBase">TransitionViewModelBase</a> TransStartViewModel { get; }</code></pre>
<dl>
<dt></dt>
<dd>遷移動作の開始元ビューモデルを取得します。</dd>
<dt></dt>
</dl>
<pre><code><a href="https://www.makcraft.com/#TransitionViewModelBase">TransitionViewModelBase</a> PreviousViewModel { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>前画面のビューモデルを取得・設定します。</dd>
</dl>
<hr />
<h2 id="IViewModelStatus">IViewModelStatus</h2>
<p>画面遷移を行うビューモデルの処理状況のプロパティのインターフェイス</p>
<h3>構文</h3>
<pre><code>public interface IViewModelStatus</code></pre>
<h3>プロパティ</h3>
<pre><code><a href="https://www.makcraft.com/#ViewModelStatus">ViewModelStatus</a> CurrentStatus { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>画面遷移を行うビューモデルの処理状況</dd>
</dl>
<hr />
<h2 id="IWindowCloseCommand">IWindowCloseCommand</h2>
<p>ウィンドウを閉じるためのビューモデルのインターフェイスです。</p>
<h3>構文</h3>
<pre><code>public interface IWindowCloseCommand</code></pre>
<h3>プロパティ</h3>
<pre><code>bool CanCloseWindow { get; }</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウがクローズできる状態かを返します。</dd>
</dl>
<h3>メソッド</h3>
<pre><code>void WindowClose()</code></pre>
<dl>
<dt></dt>
<dd>ビューモデルからウィンドウへ Close を通知するメソッドです。</dd>
</dl>
<p> </p>
<h1>TransitionViewModelBase クラス関連の仕様</h1>
<hr />
<h2 id="TransitionViewModelBase">TransitionViewModelBase</h2>
<p>データ検証と画面遷移及び表示状態設定機能を持つビューモデルの基底クラス</p>
<h3>構文</h3>
<pre><code>public abstract class TransitionViewModelBase : <a href="https://www.makcraft.com/#DialogViewModelBase">DialogViewModelBase</a>, <a href="https://www.makcraft.com/#IWindowCloseCommand">IWindowCloseCommand</a>, <a href="https://www.makcraft.com/#IViewModelStatus">IViewModelStatus</a>, <a href="https://www.makcraft.com/#IReceiveFinished">IReceiveFinished</a></code></pre>
<h3>プロパティ</h3>
<pre><code>public <a href="https://www.makcraft.com/#WindowAction">WindowAction</a> DisplayMode { get; protected set; }</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウの表示状態を取得・設定します。<br />View 側で PropertyChangedTrigger の Binding と DisplayModeAction の DisplayMode にバインドしてください。</dd>
<dt></dt>
</dl>
<pre><code>protected <a href="https://www.makcraft.com/#TransitionViewModelBase">TransitionViewModelBase</a> PreviousViewModel { get; }</code></pre>
<dl>
<dt></dt>
<dd>前画面のビューモデルを取得します。</dd>
<dt></dt>
</dl>
<pre><code>public override object Container {get; set; }</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウ作成元からのデータ受け取り用プロパティ</dd>
<dt></dt>
</dl>
<pre><code>public bool CanCloseWindow { get; }</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウを閉じることが可能かを取得します。</dd>
<dt></dt>
</dl>
<pre><code>public <a href="https://www.makcraft.com/#ViewModelStatus">ViewModelStatus</a> CurrentStatus { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>ビューモデルの処理状態を取得・設定します。</dd>
</dl>
<h3>メソッド</h3>
<pre><code>protected virtual bool WindowCloseCanExecute(object param)</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウが閉じることの出来る状態かどうかを返します。<br />仮想メソッドは常に 'true' を返します。制御が必要な場合はオーバーライドしてください。</dd>
<dt></dt>
</dl>
<pre><code>protected virtual void OnWindowClosed()</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウがクローズされた際の操作</dd>
<dt></dt>
</dl>
<pre><code>protected virtual void TransitionComplete()</code></pre>
<dl>
<dt></dt>
<dd>一連の画面遷移の完了を設定します。</dd>
<dt></dt>
</dl>
<pre><code>public virtual void WindowClose()</code></pre>
<dl>
<dt></dt>
<dd>ビューモデルからウィンドウへ Close を通知するメソッドです。</dd>
<dt></dt>
</dl>
<pre><code>public virtual void OnFinished(ITransContainer container)</code></pre>
<dl>
<dt></dt>
<dd>画面遷移完了時に実行する処理です。</dd>
</dl>
<h3>コマンド</h3>
<pre><code>public ICommand WindowCloseCommand { get; }</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウを閉じるコマンド</dd>
<dt></dt>
</dl>
<pre><code>public ICommand WindowClosedCommand { get; }</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウがクローズされた際の操作コマンド<br />ウィンドウの Closed イベントが発生した際に呼び出されるようにしてください。</dd>
</dl>
<hr />
<h2 id="DialogViewModelBase">DialogViewModelBase</h2>
<p>データ検証とダイアログ表示の基本機能を提供するビューモデルの基底クラス</p>
<h3>構文</h3>
<pre><code>public abstract class DialogViewModelBase : <a href="https://www.makcraft.com/specification/32-validationviewmodelbaseclassspecs.html#ValidationViewModelBase">ValidationViewModelBase</a>, <a href="https://www.makcraft.com/#IDialogTransferContainer">IDialogTransferContainer</a></code></pre>
<h3>プロパティ</h3>
<pre><code>public object CommunicationDialog { get; protected set; }</code></pre>
<dl>
<dt></dt>
<dd>作成する Dialog に渡すデータを取得・設定します。<br />View 側で DialogTransferDataAction の Parameter にバインドしてください。</dd>
<dt></dt>
</dl>
<pre><code>public Type DialogType { get; protected set; }</code></pre>
<dl>
<dt></dt>
<dd>表示するカスタムダイアログボックスの型の情報<br />View 側で DialogTransferDataAction の DialogType にバインドしてください。</dd>
<dt></dt>
</dl>
<pre><code>public virtual object Container { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウ作成元から渡されたデータの受取用</dd>
<dt></dt>
</dl>
<pre><code>public Action<bool?> DialogActionCallback { get; protected set; }</code></pre>
<dl>
<dt></dt>
<dd>ダイアログが閉じられた後に実行するコールバックを取得・設定します。<br />View 側で DialogTransferDataAction の ActionCallBack にバインドしてください。</dd>
<dt></dt>
</dl>
<pre><code>public object ResultViewModel { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>ダイアログ表示で生成されたダイアログのビューモデルへの参照を取得・設定します。<br />(ダイアログで設定された値の参照用)<br /> View 側で DialogTransferDataAction の ResultViewModel にバインドしてください。</dd>
<dt></dt>
</dl>
<pre><code>public <a href="https://www.makcraft.com/#MessageDialogActionParameter">MessageDialogActionParameter</a> MessageDialogActionParam { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>MessageDialogActionに渡すパラメーター<br />View 側で PropertyChangedTrigger の Binding と MessageDialogAction の Parameter にバインドしてください。</dd>
<dt></dt>
</dl>
<pre><code>public Action<MessageBoxResult> MessageDialogActionCallback { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>MessageDialogActionの実行後に呼ばれるCallBack<br />View 側で MessageDialogAction の ActionCallBack にバインドしてください。</dd>
</dl>
<h3>メソッド</h3>
<pre><code>protected virtual void OnContainerReceived(object container)</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウ作成元からのデータを受け取った際に行う処理</dd>
</dl>
<hr />
<h2 id="ModalViewModelBase">ModalViewModelBase</h2>
<p>データ検証とモーダルダイアログ表示機能を持つビューモデルの基底クラス</p>
<h3>構文</h3>
<pre><code>public abstract class ModalViewModelBase : <a href="https://www.makcraft.com/#DialogViewModelBase">DialogViewModelBase</a></code></pre>
<h3>プロパティ</h3>
<pre><code>public bool? Result { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>View 側の DialogResult セット用の PropertyChangedTrigger へバインドします。<br /> View 側で PropertyChangedTrigger の Binding と ChangePropertyAction の Value にバインドしてください。</dd>
</dl>
<h3>メソッド</h3>
<pre><code>protected virtual void OkExecute()</code></pre>
<dl>
<dt></dt>
<dd>モーダルダイアログの OK ボタンクリック時の処理<br /> 仮想メソッドは Window の DialogResult プロパティに true をセットする動作のみです。制御が必要な場合はオーバーライドしてください。</dd>
<dt></dt>
</dl>
<pre><code>protected virtual bool OkCanExecute(object param)</code></pre>
<dl>
<dt></dt>
<dd>OkCommand の 有効/無効 を返します。<br /> データ検証エラーの有無を返します。データ検証エラーを用いないで判断したい場合はオーバーライドしてください。</dd>
</dl>
<h3>コマンド</h3>
<pre><code>public ICommand OkCommand { get; }</code></pre>
<dl>
<dt></dt>
<dd>OK ボタン用のコマンドです。<br /> ボタンの有効・無効をコントロールするため、コマンドで Window の DialogResult を設定します。</dd>
</dl>
<hr />
<h2 id="TransitionContainerBase">TransitionContainerBase</h2>
<p>画面遷移の際のデータコンテナの基底クラス</p>
<h3>構文</h3>
<pre><code>public class TransitionContainerBase : <a href="https://www.makcraft.com/#ITransContainer">ITransContainer</a></code></pre>
<h3>コンストラクタ</h3>
<pre><code>public TransitionContainerBase(string key, <a href="https://www.makcraft.com/#TransitionViewModelBase">TransitionViewModelBase</a> viewModel)</code></pre>
<dl>
<dt></dt>
<dd>画面遷移のキー及び遷移開始元ビューモデルを設定して画面遷移の際のデータコンテナを作成します。</dd>
</dl>
<h3>プロパティ</h3>
<pre><code>public string Key { get; }</code></pre>
<dl>
<dt></dt>
<dd>遷移を区別するためのキーを取得します。</dd>
<dt></dt>
</dl>
<pre><code>public <a href="https://www.makcraft.com/#TransitionViewModelBase">TransitionViewModelBase</a> TransStartViewModel { get; }</code></pre>
<dl>
<dt></dt>
<dd>遷移動作の開始元ビューモデルを取得します。</dd>
<dt></dt>
</dl>
<pre><code>public <a href="https://www.makcraft.com/#TransitionViewModelBase">TransitionViewModelBase</a> PreviousViewModel { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>前画面のビューモデルを取得・設定します。</dd>
</dl>
<hr />
<h2 id="ITransContainer">ITransContainer</h2>
<p>画面遷移の際のデータコンテナのインターフェイス</p>
<h3>構文</h3>
<pre><code>public interface ITransContainer</code></pre>
<h3>プロパティ</h3>
<pre><code>string Key { get; }</code></pre>
<dl>
<dt></dt>
<dd>遷移を区別するためのキーを取得します。</dd>
<dt></dt>
</dl>
<pre><code><a href="https://www.makcraft.com/#TransitionViewModelBase">TransitionViewModelBase</a> TransStartViewModel { get; }</code></pre>
<dl>
<dt></dt>
<dd>遷移動作の開始元ビューモデルを取得します。</dd>
<dt></dt>
</dl>
<pre><code><a href="https://www.makcraft.com/#TransitionViewModelBase">TransitionViewModelBase</a> PreviousViewModel { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>前画面のビューモデルを取得・設定します。</dd>
</dl>
<hr />
<h2 id="ViewModelUtility">ViewModelUtility</h2>
<p>ViewModel 関連のユーティリティクラス</p>
<h3>構文</h3>
<pre><code>public static class ViewModelUtility</code></pre>
<h3>メソッド</h3>
<pre><code>public static <a href="https://www.makcraft.com/specification/30-viewmodelbaseclassspecs.html#ViewModelBase">ViewModelBase</a> GetMainWindowViewModel()</code></pre>
<dl>
<dt></dt>
<dd>MainWindow となっている Window の ViewModel を返します。</dd>
<dt></dt>
</dl>
<pre><code>public static int Count(Type type)</code></pre>
<dl>
<dt></dt>
<dd>指定されたビューモデルのインスタンスの数を返します。</dd>
<dt></dt>
</dl>
<pre><code>public static IReadOnlyList<<a href="https://www.makcraft.com/specification/30-viewmodelbaseclassspecs.html#ViewModelBase">ViewModelBase</a>> GetViewModels(Type type)</code></pre>
<dl>
<dt></dt>
<dd>指定されたビューモデルのインスタンスの一覧を返します。</dd>
<dt></dt>
</dl>
<pre><code>public static void CloseViewModels(Type type)</code></pre>
<dl>
<dt></dt>
<dd>指定されたビューモデルのインスタンスの IWindowCloseCommand インターフェイス のWindowClose メソッドを実行します。</dd>
<dt></dt>
</dl>
<pre><code>public static bool IsReadyCloseAllWindows</code></pre>
<dl>
<dt></dt>
<dd>すべてのウィンドウが閉じることが可能か確認します。</dd>
</dl>
<hr />
<h2 id="DialogTransferDataAction">DialogTransferDataAction</h2>
<p>データを渡してモードレス ダイアログ ウィンドウを表示するアクション<br />ダイアログ側のビューモデルにデータ受取り用の「public object Container」プロパティが必要</p>
<h3>構文</h3>
<pre><code>public class DialogTransferDataAction : TriggerAction<FrameworkElement></code></pre>
<h3>プロパティ</h3>
<pre><code>public object Parameter { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>ダイアログウィンドウに渡すデータを格納</dd>
<dt></dt>
</dl>
<pre><code>public Type DialogType { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>表示するダイアログのクラス名</dd>
<dt></dt>
</dl>
<pre><code>public DialogModes DialogMode { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>ダイアログの表示種別</dd>
<dt></dt>
</dl>
<pre><code>public Action<bool?> ActionCallBack { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>ダイアログを閉じた際に実行するコールバック</dd>
<dt></dt>
</dl>
<pre><code>public object ResultViewModel { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>作成したウィンドウのビューモデルオブジェクトへの参照<br />ダイアログ側で設定したデータの参照用</dd>
</dl>
<hr />
<h2 id="DialogModes">DialogModes</h2>
<p>ダイアログの表示種別</p>
<h3>構文</h3>
<pre><code>public enum DialogModes</code></pre>
<h3>メンバー</h3>
<dl>
<dt>Modal</dt>
<dd>モーダル ダイアログとして表示する。</dd>
<dt>Modeless</dt>
<dd>モードレス ダイアログとして表示する。</dd>
</dl>
<hr />
<h2 id="DisplayModeAction">DisplayModeAction</h2>
<p>モードレス ウィンドウの表示変更アクション</p>
<h3>構文</h3>
<pre><code>public class DisplayModeAction : TriggerAction<FrameworkElement></code></pre>
<h3>プロパティ</h3>
<pre><code>public <a href="https://www.makcraft.com/#WindowAction">WindowAction</a> DisplayMode { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>変更する表示状態</dd>
</dl>
<hr />
<h2 id="ViewModelStatus">ViewModelStatus</h2>
<p>画面遷移を行うビューモデルの処理状況を表す列挙型です。</p>
<h3>構文</h3>
<pre><code>public enum ViewModelStatus</code></pre>
<dl>
<dt>Completed</dt>
<dd>完了</dd>
<dt>Halfway</dt>
<dd>未完了</dd>
</dl>
<hr />
<h2 id="WindowAction">WindowAction</h2>
<p>画面遷移を行うビューモデルへセットするウィンドウの状態を表す列挙型です。</p>
<h3>構文</h3>
<pre><code>public enum WindowAction</code></pre>
<h3>メンバー</h3>
<dl>
<dt>Show</dt>
<dd>表示する</dd>
<dt>Hide</dt>
<dd>非表示にする</dd>
<dt>Close</dt>
<dd>閉じる</dd>
</dl>
<hr />
<h2 id="MessageDialogAction">MessageDialogAction</h2>
<p>MessageBox を表示するアクション</p>
<h3>構文</h3>
<pre><code>public class MessageDialogAction : TriggerAction<FrameworkElement></code></pre>
<h3>プロパティ</h3>
<pre><code>public <a href="https://www.makcraft.com/#IMessageDialogActionParameter">IMessageDialogActionParameter</a> Parameter { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>メッセージボックスやダイアログを出すために必要となる情報を受け取る</dd>
<dt></dt>
</dl>
<pre><code>public Action<MessageBoxResult> ActionCallBack</code></pre>
<dl>
<dt></dt>
<dd>ダイアログでの選択結果をViewModelに通知するコールバックメソッド</dd>
</dl>
<hr />
<h2 id="MessageDialogActionParameter">MessageDialogActionParameter</h2>
<p>MessageDialogAction へ渡すパラメーター<br /> IsDialog が false のときには Button の設定は反映されません。</p>
<h3>構文</h3>
<pre><code>public class MessageDialogActionParameter : <a href="https://www.makcraft.com/#IMessageDialogActionParameter">IMessageDialogActionParameter</a></code></pre>
<h3>コンストラクタ</h3>
<pre><code>public MessageDialogActionParameter(string message, string caption) : this(message, caption, MessageBoxButton.OK, false)</code></pre>
<pre><code>public MessageDialogActionParameter(string message, string caption, MessageBoxButton button) : this(message, caption, button, true)</code></pre>
<pre><code>public MessageDialogActionParameter(string message, string caption, MessageBoxButton button, bool isDialog)</code></pre>
<h3>プロパティ</h3>
<pre><code>public string Message { get; protected set; }</code></pre>
<dl>
<dt></dt>
<dd>MessageBoxに表示するメッセージ</dd>
<dt></dt>
</dl>
<pre><code>public string Caption { get; protected set; }</code></pre>
<dl>
<dt></dt>
<dd>MessageBox に表示するタイトル</dd>
<dt></dt>
</dl>
<pre><code>public MessageBoxButton Button { get; protected set; }</code></pre>
<dl>
<dt></dt>
<dd>MessageBox に表示するボタン</dd>
<dt></dt>
</dl>
<pre><code>public bool IsDialog { get; protected set; }</code></pre>
<dl>
<dt></dt>
<dd>true:ダイアログ(ユーザ応答を処理する)、false:メッセージ</dd>
</dl>
<hr />
<h2 id="EventCommandAction">EventCommandAction</h2>
<p>イベント発生時にコマンドを実行するアクション<br />実行するコマンドの引数に発生したイベントの EventArgs を設定します。</p>
<h3>構文</h3>
<pre><code>public class EventCommandAction : TriggerAction<UIElement></code></pre>
<h3>プロパティ</h3>
<dl>
<dt>
<pre><code>public ICommand Command { get; set; }</code></pre>
</dt>
<dd>呼び出すコマンドを取得または設定します。</dd>
</dl>
<hr />
<h2 id="IDialogTransferContainer">IDialogTransferContainer</h2>
<p>生成元ウィンドウからのデータの受取用プロパティのインターフェイス</p>
<h3>構文</h3>
<pre><code>public interface IDialogTransferContainer</code></pre>
<h3>プロパティ</h3>
<pre><code>object Container { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>生成元ウィンドウからのデータの受取用プロパティ</dd>
</dl>
<hr />
<h2 id="IMessageDialogActionParameter">IMessageDialogActionParameter</h2>
<p>MessageDialogAction へ渡すパラメーターのインターフェイス<br />IsDialog が false のときには Button の設定は反映されません。</p>
<h3>構文</h3>
<pre><code>public interface IMessageDialogActionParameter</code></pre>
<h3>プロパティ</h3>
<pre><code>string Message { get; }</code></pre>
<dl>
<dt></dt>
<dd>MessageBoxに表示するメッセージ</dd>
<dt></dt>
</dl>
<pre><code>string Caption { get; }</code></pre>
<dl>
<dt></dt>
<dd>MessageBox に表示するタイトル</dd>
<dt></dt>
</dl>
<pre><code>MessageBoxButton Button { get; }</code></pre>
<dl>
<dt></dt>
<dd>MessageBox に表示するボタン</dd>
<dt></dt>
</dl>
<pre><code>bool IsDialog { get; }</code></pre>
<dl>
<dt></dt>
<dd>true:ダイアログ(ユーザ応答を処理する)、false:メッセージ</dd>
</dl>
<hr />
<h2 id="IReceiveFinished">IReceiveFinished</h2>
<p>画面遷移完了時の操作に用いるインターフェイスです。</p>
<h3>構文</h3>
<pre><code>interface IReceiveFinished</code></pre>
<h3>メソッド</h3>
<pre><code>void OnFinished(<a href="https://www.makcraft.com/#ITransContainer">ITransContainer</a> container)</code></pre>
<dl>
<dt></dt>
<dd>画面遷移操作完了時に実行されるメソッド</dd>
</dl>
<hr />
<h2 id="ITransContainer">ITransContainer</h2>
<p>画面遷移の際のデータコンテナのインターフェイス</p>
<h3>構文</h3>
<pre><code>public interface ITransContainer</code></pre>
<h3>プロパティ</h3>
<pre><code>string Key { get; }</code></pre>
<dl>
<dt></dt>
<dd>遷移を区別するためのキーを取得します。<br /> 一つのビューモデルで複数の画面遷移を持つ場合の処理の分岐用</dd>
<dt></dt>
</dl>
<pre><code><a href="https://www.makcraft.com/#TransitionViewModelBase">TransitionViewModelBase</a> TransStartViewModel { get; }</code></pre>
<dl>
<dt></dt>
<dd>遷移動作の開始元ビューモデルを取得します。</dd>
<dt></dt>
</dl>
<pre><code><a href="https://www.makcraft.com/#TransitionViewModelBase">TransitionViewModelBase</a> PreviousViewModel { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>前画面のビューモデルを取得・設定します。</dd>
</dl>
<hr />
<h2 id="IViewModelStatus">IViewModelStatus</h2>
<p>画面遷移を行うビューモデルの処理状況のプロパティのインターフェイス</p>
<h3>構文</h3>
<pre><code>public interface IViewModelStatus</code></pre>
<h3>プロパティ</h3>
<pre><code><a href="https://www.makcraft.com/#ViewModelStatus">ViewModelStatus</a> CurrentStatus { get; set; }</code></pre>
<dl>
<dt></dt>
<dd>画面遷移を行うビューモデルの処理状況</dd>
</dl>
<hr />
<h2 id="IWindowCloseCommand">IWindowCloseCommand</h2>
<p>ウィンドウを閉じるためのビューモデルのインターフェイスです。</p>
<h3>構文</h3>
<pre><code>public interface IWindowCloseCommand</code></pre>
<h3>プロパティ</h3>
<pre><code>bool CanCloseWindow { get; }</code></pre>
<dl>
<dt></dt>
<dd>ウィンドウがクローズできる状態かを返します。</dd>
</dl>
<h3>メソッド</h3>
<pre><code>void WindowClose()</code></pre>
<dl>
<dt></dt>
<dd>ビューモデルからウィンドウへ Close を通知するメソッドです。</dd>
</dl>
<p> </p>
ValidationViewModelBase クラス関連の仕様
2014-09-25T04:48:46+09:00
2014-09-25T04:48:46+09:00
https://www.makcraft.com/22-category-tools/classspec/32-validationviewmodelbaseclassspecs.html
Administrator
contact@makcraft.com
<h1>ValidationViewModelBase クラス関連の仕様</h1>
<hr />
<h2 id="ValidationViewModelBase">ValidationViewModelBase</h2>
<p>プロパティ変更通知及びデータ検証を実装したビューモデルの基底クラス</p>
<h3>構文</h3>
<pre><code>public abstract class ValidationViewModelBase : <a href="https://www.makcraft.com/specification/31-weakeventviewmodelbaseclassspecs.html#WeakEventViewModelBase">WeakEventViewModelBase</a>, IDataErrorInfo</code></pre>
<h3>プロパティ</h3>
<dl>
<dt>
<pre><code>public bool IsValid</code></pre>
</dt>
<dd>データ検証エラーの発生の有無を取得します。</dd>
<dt>
<pre><code>public <a href="https://www.makcraft.com/#ValidationDictionary">ValidationDictionary</a> ViewModelState</code></pre>
</dt>
<dd>ビューモデルの状態及びバインディングの検証の状態を格納するビューモデル状態ディクショナリ オブジェクトを取得します。</dd>
</dl>
<h3>メソッド</h3>
<dl>
<dt><pre><code>public void RemoveItemValidationError<T>(Expression<Func<T>> propertyName)</code></pre></dt>
<dd>propertyName に設定されている検証エラーメッセージを削除します。<br />
PropertyHelper.GetName<T>(Expression<Func<T>> e) を用いてプロパティ名を取り出します。</dd>
<dt><pre><code>public void RemoveItemValidationError([CallerMemberName] string propertyName = null)</code></pre></dt>
<dd>propertyName に設定されている検証エラーメッセージを削除します。<br />
propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。</dd>
<dt><pre><code>public bool IsPropertyAnnotationError<T>(Expression<Func<T>> propertyName)</code></pre></dt>
<dd>指定されたプロパティの System.ComponentModel.DataAnnotations のデータ検証アトリビュート検査の結果を確認します。<br />
PropertyHelper.GetName<T>(Expression<Func<T>> e) を用いてプロパティ名を取り出します。</dd>
<dt><pre><code>public bool IsPropertyAnnotationError([CallerMemberName] string propertyName = null)</code></pre></dt>
<dd>指定されたプロパティの System.ComponentModel.DataAnnotations のデータ検証アトリビュート検査の結果を確認します。<br />
propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。</dd>
<dt><pre><code>protected void RaisePropertyChangedWithRemoveItemValidationError<T>(Expression<Func<T>> e)</code></pre></dt>
<dd>PropertyChanged イベントを発火します。<br />プロパティ変更通知まえに当該プロパティの検証エラーの削除を行います。<br />
PropertyHelper.GetName<T>(Expression<Func<T>> e) を用いてプロパティ名を取り出します。</dd>
<dt><pre><code>protected virtual void RaisePropertyChangedWithRemoveItemValidationError([CallerMemberName] string propertyName = null)</code></pre></dt>
<dd>PropertyChanged イベントを発火します。<br />プロパティ変更通知まえに当該プロパティの検証エラーの削除を行います。<br />
propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。</dd>
<dt><pre><code>protected void SetPropertyWithRemoveItemValidationError<T>(ref T property, T value, [CallerMemberName] string propertyName = null)</code></pre></dt>
<dd>プロパティ名 property を value の値で書き換え、PropertyChanged イベントを発火します。<br />
プロパティ変更通知まえに当該プロパティの検証エラーの削除を行います。<br />
propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。</dd>
</dl>
<hr />
<h2 id="ValidationDictionary">ValidationDictionary</h2>
<p>データ検証に用いるディクショナリ</p>
<h3>構文</h3>
<pre><code>class ValidationDictionary : <a href="https://www.makcraft.com/#IValidationDictionary">IValidationDictionary</a></code></pre>
<h3>プロパティ</h3>
<dl>
<dt>
<pre><code>bool IsValid { get; }</code></pre>
</dt>
<dd>データ検証エラーの発生の有無を取得する。</dd>
</dl>
<h3>メソッド</h3>
<dl>
<dt>
<pre><code>void AddError(string key, string errorMessage)</code></pre>
</dt>
<dd>データ検証エラーメッセージを追加する。</dd>
<dt>
<pre><code>public void RemoveErrorByKey(string propertyName)</code></pre>
</dt>
<dd>propertyName に設定されているエラーメッセージを削除します。</dd>
<dt>
<pre><code>public string GetValidationError(string propertyName)</code></pre>
</dt>
<dd>propertyName に対するエラーメッセージを返します。エラーがない場合は null を返します。</dd>
<dt>
<pre><code>IEnumerator<KeyValuePair<string, ModelState>> GetEnumerator()</code></pre>
</dt>
<dd>コレクションを反復処理するために使用できる列挙子を返します。</dd>
</dl>
<hr />
<h2 id="ValidateConditionalAttribute">ValidateConditionalAttribute</h2>
<p>データ検証を行う条件を指定します。</p>
<h3>構文</h3>
<pre><code>[AttributeUsage(AttributeTargets.Property)]
public class ValidateConditionalAttribute : Attribute</code></pre>
<h3>コンストラクタ</h3>
<dl>
<dt>
<pre><code>public ValidateConditionalAttribute(string comparedProperty, object value)</code></pre>
</dt>
<dd></dd>
</dl>
<h3>プロパティ</h3>
<dl>
<dt>
<pre><code>public string ComparedProperty</code></pre>
</dt>
<dd>条件の比較対象となるプロパティ名を取得します。</dd>
<dt>
<pre><code>public object Value</code></pre>
</dt>
<dd>条件となる値を取得します。</dd>
</dl>
<hr />
<h2 id="IValidationDictionary">IValidationDictionary</h2>
<p>データ検証のインターフェイス</p>
<h3>構文</h3>
<pre><code>public interface IValidationDictionary</code></pre>
<h3>プロパティ</h3>
<dl>
<dt>
<pre><code>bool IsValid { get; }</code></pre>
</dt>
<dd>データ検証エラーの発生の有無を取得する。</dd>
</dl>
<h3>メソッド</h3>
<dl>
<dt>
<pre><code>void AddError(string key, string errorMessage)</code></pre>
</dt>
<dd>データ検証エラーメッセージを追加する。</dd>
<dt>
<pre><code>void RemoveErrorByKey(string propertyName)</code></pre>
</dt>
<dd>propertyName に設定されているエラーメッセージを削除します。</dd>
<dt>
<pre><code>IEnumerator<KeyValuePair<string, ModelState>> GetEnumerator()</code></pre>
</dt>
<dd>コレクションを反復処理するために使用できる列挙子を返します。</dd>
</dl>
<h1>ValidationViewModelBase クラス関連の仕様</h1>
<hr />
<h2 id="ValidationViewModelBase">ValidationViewModelBase</h2>
<p>プロパティ変更通知及びデータ検証を実装したビューモデルの基底クラス</p>
<h3>構文</h3>
<pre><code>public abstract class ValidationViewModelBase : <a href="https://www.makcraft.com/specification/31-weakeventviewmodelbaseclassspecs.html#WeakEventViewModelBase">WeakEventViewModelBase</a>, IDataErrorInfo</code></pre>
<h3>プロパティ</h3>
<dl>
<dt>
<pre><code>public bool IsValid</code></pre>
</dt>
<dd>データ検証エラーの発生の有無を取得します。</dd>
<dt>
<pre><code>public <a href="https://www.makcraft.com/#ValidationDictionary">ValidationDictionary</a> ViewModelState</code></pre>
</dt>
<dd>ビューモデルの状態及びバインディングの検証の状態を格納するビューモデル状態ディクショナリ オブジェクトを取得します。</dd>
</dl>
<h3>メソッド</h3>
<dl>
<dt><pre><code>public void RemoveItemValidationError<T>(Expression<Func<T>> propertyName)</code></pre></dt>
<dd>propertyName に設定されている検証エラーメッセージを削除します。<br />
PropertyHelper.GetName<T>(Expression<Func<T>> e) を用いてプロパティ名を取り出します。</dd>
<dt><pre><code>public void RemoveItemValidationError([CallerMemberName] string propertyName = null)</code></pre></dt>
<dd>propertyName に設定されている検証エラーメッセージを削除します。<br />
propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。</dd>
<dt><pre><code>public bool IsPropertyAnnotationError<T>(Expression<Func<T>> propertyName)</code></pre></dt>
<dd>指定されたプロパティの System.ComponentModel.DataAnnotations のデータ検証アトリビュート検査の結果を確認します。<br />
PropertyHelper.GetName<T>(Expression<Func<T>> e) を用いてプロパティ名を取り出します。</dd>
<dt><pre><code>public bool IsPropertyAnnotationError([CallerMemberName] string propertyName = null)</code></pre></dt>
<dd>指定されたプロパティの System.ComponentModel.DataAnnotations のデータ検証アトリビュート検査の結果を確認します。<br />
propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。</dd>
<dt><pre><code>protected void RaisePropertyChangedWithRemoveItemValidationError<T>(Expression<Func<T>> e)</code></pre></dt>
<dd>PropertyChanged イベントを発火します。<br />プロパティ変更通知まえに当該プロパティの検証エラーの削除を行います。<br />
PropertyHelper.GetName<T>(Expression<Func<T>> e) を用いてプロパティ名を取り出します。</dd>
<dt><pre><code>protected virtual void RaisePropertyChangedWithRemoveItemValidationError([CallerMemberName] string propertyName = null)</code></pre></dt>
<dd>PropertyChanged イベントを発火します。<br />プロパティ変更通知まえに当該プロパティの検証エラーの削除を行います。<br />
propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。</dd>
<dt><pre><code>protected void SetPropertyWithRemoveItemValidationError<T>(ref T property, T value, [CallerMemberName] string propertyName = null)</code></pre></dt>
<dd>プロパティ名 property を value の値で書き換え、PropertyChanged イベントを発火します。<br />
プロパティ変更通知まえに当該プロパティの検証エラーの削除を行います。<br />
propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。</dd>
</dl>
<hr />
<h2 id="ValidationDictionary">ValidationDictionary</h2>
<p>データ検証に用いるディクショナリ</p>
<h3>構文</h3>
<pre><code>class ValidationDictionary : <a href="https://www.makcraft.com/#IValidationDictionary">IValidationDictionary</a></code></pre>
<h3>プロパティ</h3>
<dl>
<dt>
<pre><code>bool IsValid { get; }</code></pre>
</dt>
<dd>データ検証エラーの発生の有無を取得する。</dd>
</dl>
<h3>メソッド</h3>
<dl>
<dt>
<pre><code>void AddError(string key, string errorMessage)</code></pre>
</dt>
<dd>データ検証エラーメッセージを追加する。</dd>
<dt>
<pre><code>public void RemoveErrorByKey(string propertyName)</code></pre>
</dt>
<dd>propertyName に設定されているエラーメッセージを削除します。</dd>
<dt>
<pre><code>public string GetValidationError(string propertyName)</code></pre>
</dt>
<dd>propertyName に対するエラーメッセージを返します。エラーがない場合は null を返します。</dd>
<dt>
<pre><code>IEnumerator<KeyValuePair<string, ModelState>> GetEnumerator()</code></pre>
</dt>
<dd>コレクションを反復処理するために使用できる列挙子を返します。</dd>
</dl>
<hr />
<h2 id="ValidateConditionalAttribute">ValidateConditionalAttribute</h2>
<p>データ検証を行う条件を指定します。</p>
<h3>構文</h3>
<pre><code>[AttributeUsage(AttributeTargets.Property)]
public class ValidateConditionalAttribute : Attribute</code></pre>
<h3>コンストラクタ</h3>
<dl>
<dt>
<pre><code>public ValidateConditionalAttribute(string comparedProperty, object value)</code></pre>
</dt>
<dd></dd>
</dl>
<h3>プロパティ</h3>
<dl>
<dt>
<pre><code>public string ComparedProperty</code></pre>
</dt>
<dd>条件の比較対象となるプロパティ名を取得します。</dd>
<dt>
<pre><code>public object Value</code></pre>
</dt>
<dd>条件となる値を取得します。</dd>
</dl>
<hr />
<h2 id="IValidationDictionary">IValidationDictionary</h2>
<p>データ検証のインターフェイス</p>
<h3>構文</h3>
<pre><code>public interface IValidationDictionary</code></pre>
<h3>プロパティ</h3>
<dl>
<dt>
<pre><code>bool IsValid { get; }</code></pre>
</dt>
<dd>データ検証エラーの発生の有無を取得する。</dd>
</dl>
<h3>メソッド</h3>
<dl>
<dt>
<pre><code>void AddError(string key, string errorMessage)</code></pre>
</dt>
<dd>データ検証エラーメッセージを追加する。</dd>
<dt>
<pre><code>void RemoveErrorByKey(string propertyName)</code></pre>
</dt>
<dd>propertyName に設定されているエラーメッセージを削除します。</dd>
<dt>
<pre><code>IEnumerator<KeyValuePair<string, ModelState>> GetEnumerator()</code></pre>
</dt>
<dd>コレクションを反復処理するために使用できる列挙子を返します。</dd>
</dl>
WeakEventViewModelBase クラス関連の仕様
2014-09-25T04:38:57+09:00
2014-09-25T04:38:57+09:00
https://www.makcraft.com/22-category-tools/classspec/31-weakeventviewmodelbaseclassspecs.html
Administrator
contact@makcraft.com
<h1>WeakEventViewModelBase クラス関連の仕様</h1>
<hr />
<h2 id="WeakEventViewModelBase">WeakEventViewModelBase</h2>
<p>弱いイベントパターンを用いたリスナー登録機能を持つビューモデルベースです。</p>
<h3>構文</h3>
<pre><code>public abstract class WeakEventViewModelBase : <a href="http://www.makcraft.com/specification/30-viewmodelbaseclassspecs.html#ViewModelBase">ViewModelBase</a></code></pre>
<h3>メソッド</h3>
<dl>
<dt>
<pre><code>public void AddListener(INotifyPropertyChanged notifyObject, IWeakEventListener weakEventListener)</code></pre>
</dt>
<dd>PropertyChangedEventManager へ弱いイベントのリスナーを登録します。</dd>
<dt>
<pre><code>public void RemoveListener(INotifyPropertyChanged notifyObject, IWeakEventListener weakEventListener)</code></pre>
</dt>
<dd>
PropertyChangedEventManager から弱いイベントのリスナーを削除します。<br />
(明示的に削除を行わなくてもメモリーリークは発生しません)
</dd>
</dl>
<hr />
<h2 id="PropertyChangedWeakEventListener">PropertyChangedWeakEventListener</h2>
<p>弱いイベントパターンのリスナです。</p>
<h3>構文</h3>
<pre><code>public class PropertyChangedWeakEventListener : <a href="https://www.makcraft.com/#IPropertyChangedWeakEventListener">IPropertyChangedWeakEventListener</a></code></pre>
<h3>メソッド</h3>
<dl>
<dt>
<pre><code>public bool ReceiveWeakEvent(Type managerType, object sender, EventArgs e)</code></pre>
</dt>
<dd>イベント マネージャーからイベントを受信します。</dd>
</dl>
<h3>イベント</h3>
<dl>
<dt>
<pre><code>public event PropertyChangedEventHandler WeakPropertyChanged</code></pre>
</dt>
<dd>弱いイベントパターンを用いたプロパティ変更通知のイベントハンドラ</dd>
</dl>
<hr />
<h2 id="IPropertyChangedWeakEventListener">IPropertyChangedWeakEventListener</h2>
<p>弱いイベントパターンを用いたプロパティ変更通知のイベントハンドラを持つ WeakEventListner のインターフェイス</p>
<h3>構文</h3>
<pre><code>public interface IPropertyChangedWeakEventListener : IWeakEventListener, <a href="https://www.makcraft.com/#INotifyWeakPropertyChanged">INotifyWeakPropertyChanged</a></code></pre>
<hr />
<h2 id="INotifyWeakPropertyChanged">INotifyWeakPropertyChanged</h2>
<p>弱いイベントパターンを用いたプロパティ変更通知のイベントハンドラを持つ NotifyWeakPropertyChanged のインターフェイス。</p>
<h3>構文</h3>
<pre><code>public interface INotifyWeakPropertyChanged</code></pre>
<h3>イベント</h3>
<dl>
<dt>
<pre><code>event PropertyChangedEventHandler WeakPropertyChanged</code></pre>
</dt>
<dd>弱いイベントパターンを用いたプロパティ変更通知のイベントハンドラ</dd>
</dl>
<h1>WeakEventViewModelBase クラス関連の仕様</h1>
<hr />
<h2 id="WeakEventViewModelBase">WeakEventViewModelBase</h2>
<p>弱いイベントパターンを用いたリスナー登録機能を持つビューモデルベースです。</p>
<h3>構文</h3>
<pre><code>public abstract class WeakEventViewModelBase : <a href="http://www.makcraft.com/specification/30-viewmodelbaseclassspecs.html#ViewModelBase">ViewModelBase</a></code></pre>
<h3>メソッド</h3>
<dl>
<dt>
<pre><code>public void AddListener(INotifyPropertyChanged notifyObject, IWeakEventListener weakEventListener)</code></pre>
</dt>
<dd>PropertyChangedEventManager へ弱いイベントのリスナーを登録します。</dd>
<dt>
<pre><code>public void RemoveListener(INotifyPropertyChanged notifyObject, IWeakEventListener weakEventListener)</code></pre>
</dt>
<dd>
PropertyChangedEventManager から弱いイベントのリスナーを削除します。<br />
(明示的に削除を行わなくてもメモリーリークは発生しません)
</dd>
</dl>
<hr />
<h2 id="PropertyChangedWeakEventListener">PropertyChangedWeakEventListener</h2>
<p>弱いイベントパターンのリスナです。</p>
<h3>構文</h3>
<pre><code>public class PropertyChangedWeakEventListener : <a href="https://www.makcraft.com/#IPropertyChangedWeakEventListener">IPropertyChangedWeakEventListener</a></code></pre>
<h3>メソッド</h3>
<dl>
<dt>
<pre><code>public bool ReceiveWeakEvent(Type managerType, object sender, EventArgs e)</code></pre>
</dt>
<dd>イベント マネージャーからイベントを受信します。</dd>
</dl>
<h3>イベント</h3>
<dl>
<dt>
<pre><code>public event PropertyChangedEventHandler WeakPropertyChanged</code></pre>
</dt>
<dd>弱いイベントパターンを用いたプロパティ変更通知のイベントハンドラ</dd>
</dl>
<hr />
<h2 id="IPropertyChangedWeakEventListener">IPropertyChangedWeakEventListener</h2>
<p>弱いイベントパターンを用いたプロパティ変更通知のイベントハンドラを持つ WeakEventListner のインターフェイス</p>
<h3>構文</h3>
<pre><code>public interface IPropertyChangedWeakEventListener : IWeakEventListener, <a href="https://www.makcraft.com/#INotifyWeakPropertyChanged">INotifyWeakPropertyChanged</a></code></pre>
<hr />
<h2 id="INotifyWeakPropertyChanged">INotifyWeakPropertyChanged</h2>
<p>弱いイベントパターンを用いたプロパティ変更通知のイベントハンドラを持つ NotifyWeakPropertyChanged のインターフェイス。</p>
<h3>構文</h3>
<pre><code>public interface INotifyWeakPropertyChanged</code></pre>
<h3>イベント</h3>
<dl>
<dt>
<pre><code>event PropertyChangedEventHandler WeakPropertyChanged</code></pre>
</dt>
<dd>弱いイベントパターンを用いたプロパティ変更通知のイベントハンドラ</dd>
</dl>
ViewModelBase クラス関連の仕様
2014-09-25T04:32:50+09:00
2014-09-25T04:32:50+09:00
https://www.makcraft.com/22-category-tools/classspec/30-viewmodelbaseclassspecs.html
Administrator
contact@makcraft.com
<h1>ViewModelBase クラス関連の仕様</h1>
<hr />
<h2 id="ViewModelBase">ViewModelBase</h2>
<p>プロパティ変更通知を実装したビューモデルの基底クラス</p>
<h3>構文</h3>
<pre><code>public abstract class ViewModelBase : <a href="https://www.makcraft.com/#NotifyObject">NotifyObject</a>, IDisposable</code></pre>
<h3>メソッド</h3>
<dl>
<dt><pre><code>protected bool IsUiThread()</code></pre></dt>
<dd>UI スレッドからのアクセスかどうかを判定する</dd>
<dt><pre><code>protected override void RaisePropertyChanged([CallerMemberName] string propertyName = null)</code></pre></dt>
<dd>PropertyChanged イベントを発火します(呼び出し元のスレッドが UI スレッドでない場合には、UI スレッドにて実行を行います)。<br />
propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。</dd>
<dt><pre><code>protected void InvalidateRequerySuggested()</code></pre></dt>
<dd>CommandManager.RequerySuggested イベントを強制的に発火させます(呼び出し元のスレッドが UI スレッドでない場合には、UI スレッドにて実行を行います)。</dd>
<dt><pre><code>public void Dispose()</code></pre></dt>
<dd>リソースの開放を行います。</dd>
<dt><pre><code>protected virtual void Dispose(bool disposing)</code></pre></dt>
<dd>リソースの開放を行います。</dd>
</dl>
<hr />
<h2 id="NotifyObject">NotifyObject</h2>
<p>プロパティ変更通知を実装した基底クラス</p>
<h3>構文</h3>
<pre><code>public abstract class NotifyObject : INotifyPropertyChanged</code></pre>
<h3>プロパティ</h3>
<pre><code>protected Dispatcher UiDispatcher { get; }</code></pre>
<dl>
<dt></dt>
<dd>UI スレッドのディスパッチャ</dd>
</dl>
<h3>メソッド</h3>
<dl>
<dt>
<pre><code>protected void SetProperty<T>(ref T property, T value, [CallerMemberName] string propertyName = null)</code></pre>
</dt>
<dd>プロパティ名 property を value の値で書き換え、PropertyChanged イベントを発火します。</dd>
<dt>
<pre><code>protected void RaisePropertyChanged<T>(Expression<Func<T>> e)</code></pre>
</dt>
<dd>PropertyChanged イベントを発火します(RaisePropertyChanged(string propertyName)を呼び出します)。<br /> PropertyHelper.GetName<T>(Expression<Func<T>> e) を用いてプロパティ名を取り出します。</dd>
<dt>
<pre><code>protected virtual void RaisePropertyChanged([CallerMemberName] string propertyName = null)</code></pre>
</dt>
<dd>PropertyChanged イベントを発火します。<br /> propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。</dd>
</dl>
<h3>イベント</h3>
<pre><code>public event PropertyChangedEventHandler PropertyChanged</code></pre>
<dl>
<dt></dt>
<dd>PropertyChanged イベント処理用のデリゲート</dd>
</dl>
<hr />
<h2 id="PropertyHelper">PropertyHelper</h2>
<h3>構文</h3>
<pre><code>public interface IValidationDictionary</code></pre>
<h3>メソッド</h3>
<pre><code>public static string GetName<T>(Expression<Func<T>> e)</code></pre>
<dl>
<dt></dt>
<dd>引数で渡されたプロパティから当該プロパティの名前を返します。</dd>
</dl>
<p> </p>
<h1>ViewModelBase クラス関連の仕様</h1>
<hr />
<h2 id="ViewModelBase">ViewModelBase</h2>
<p>プロパティ変更通知を実装したビューモデルの基底クラス</p>
<h3>構文</h3>
<pre><code>public abstract class ViewModelBase : <a href="https://www.makcraft.com/#NotifyObject">NotifyObject</a>, IDisposable</code></pre>
<h3>メソッド</h3>
<dl>
<dt><pre><code>protected bool IsUiThread()</code></pre></dt>
<dd>UI スレッドからのアクセスかどうかを判定する</dd>
<dt><pre><code>protected override void RaisePropertyChanged([CallerMemberName] string propertyName = null)</code></pre></dt>
<dd>PropertyChanged イベントを発火します(呼び出し元のスレッドが UI スレッドでない場合には、UI スレッドにて実行を行います)。<br />
propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。</dd>
<dt><pre><code>protected void InvalidateRequerySuggested()</code></pre></dt>
<dd>CommandManager.RequerySuggested イベントを強制的に発火させます(呼び出し元のスレッドが UI スレッドでない場合には、UI スレッドにて実行を行います)。</dd>
<dt><pre><code>public void Dispose()</code></pre></dt>
<dd>リソースの開放を行います。</dd>
<dt><pre><code>protected virtual void Dispose(bool disposing)</code></pre></dt>
<dd>リソースの開放を行います。</dd>
</dl>
<hr />
<h2 id="NotifyObject">NotifyObject</h2>
<p>プロパティ変更通知を実装した基底クラス</p>
<h3>構文</h3>
<pre><code>public abstract class NotifyObject : INotifyPropertyChanged</code></pre>
<h3>プロパティ</h3>
<pre><code>protected Dispatcher UiDispatcher { get; }</code></pre>
<dl>
<dt></dt>
<dd>UI スレッドのディスパッチャ</dd>
</dl>
<h3>メソッド</h3>
<dl>
<dt>
<pre><code>protected void SetProperty<T>(ref T property, T value, [CallerMemberName] string propertyName = null)</code></pre>
</dt>
<dd>プロパティ名 property を value の値で書き換え、PropertyChanged イベントを発火します。</dd>
<dt>
<pre><code>protected void RaisePropertyChanged<T>(Expression<Func<T>> e)</code></pre>
</dt>
<dd>PropertyChanged イベントを発火します(RaisePropertyChanged(string propertyName)を呼び出します)。<br /> PropertyHelper.GetName<T>(Expression<Func<T>> e) を用いてプロパティ名を取り出します。</dd>
<dt>
<pre><code>protected virtual void RaisePropertyChanged([CallerMemberName] string propertyName = null)</code></pre>
</dt>
<dd>PropertyChanged イベントを発火します。<br /> propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。</dd>
</dl>
<h3>イベント</h3>
<pre><code>public event PropertyChangedEventHandler PropertyChanged</code></pre>
<dl>
<dt></dt>
<dd>PropertyChanged イベント処理用のデリゲート</dd>
</dl>
<hr />
<h2 id="PropertyHelper">PropertyHelper</h2>
<h3>構文</h3>
<pre><code>public interface IValidationDictionary</code></pre>
<h3>メソッド</h3>
<pre><code>public static string GetName<T>(Expression<Func<T>> e)</code></pre>
<dl>
<dt></dt>
<dd>引数で渡されたプロパティから当該プロパティの名前を返します。</dd>
</dl>
<p> </p>