次の方法で共有


ModelEditingScope クラス

編集ストアに対する変更グループを表します。

継承階層

System.Object
  Microsoft.Windows.Design.Model.ModelEditingScope

名前空間:  Microsoft.Windows.Design.Model
アセンブリ:  Microsoft.Windows.Design.Interaction (Microsoft.Windows.Design.Interaction.dll 内)

構文

'宣言
Public MustInherit Class ModelEditingScope _
    Implements IDisposable
public abstract class ModelEditingScope : IDisposable
public ref class ModelEditingScope abstract : IDisposable
[<AbstractClass>]
type ModelEditingScope =  
    class
        interface IDisposable
    end
public abstract class ModelEditingScope implements IDisposable

ModelEditingScope 型で公開されるメンバーは以下のとおりです。

コンストラクター

  名前 説明
プロテクト メソッド ModelEditingScope ModelEditingScope クラスの新しいインスタンスを初期化します。

このページのトップへ

プロパティ

  名前 説明
パブリック プロパティ Description グループの説明を取得または設定します。

このページのトップへ

メソッド

  名前 説明
プロテクト メソッド CanComplete OnComplete メソッドを呼び出すことができるかどうか、または、変更を元に戻す必要があるかどうかを判断します。
パブリック メソッド Complete 編集スコープを完了します。
パブリック メソッド Dispose() ModelEditingScope で使用したすべてのリソースを解放します。
プロテクト メソッド Dispose(Boolean) ModelEditingScope クラスで使用されているアンマネージ リソースを解放し、オプションでマネージ リソースを解放します。
パブリック メソッド Equals 指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッド Finalize グループを中止するために終了処理中に呼び出されます。 (Object.Finalize() をオーバーライドします。)
パブリック メソッド GetHashCode 特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッド GetType 現在のインスタンスの Type を取得します。 (Object から継承されます。)
プロテクト メソッド MemberwiseClone 現在の Object の簡易コピーを作成します。 (Object から継承されます。)
プロテクト メソッド OnComplete 編集スコープを実際に完了する処理を実行します。
プロテクト メソッド OnRevert 編集スコープを実際に元に戻す処理を実行します。
パブリック メソッド Revert 編集スコープで加えられた変更を破棄します。
パブリック メソッド ToString 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
パブリック メソッド Update ビューの同期更新を実行します。

このページのトップへ

解説

変更グループはトランザクションです。 編集スコープで加えられた変更は、1 つの単位としてコミットまたは中止できます。

編集スコープがコミットされると、編集ストアは発生したすべての変更を受け入れ、モデルに適用します。 Complete メソッドが呼び出される前に、編集スコープの Revert メソッドが呼び出されるか、または編集スコープが破棄されると、編集スコープは、基になるオブジェクトに加えられた変更を元に戻し、編集ストアから状態を再適用します。 これにより、取り消しメカニズムが強固になります。

編集スコープは、using ステートメントまたは try/finally ブロックで常にラップします。 例外が発生すると、Dispose メソッドの呼び出しで変更が中止されます。

' The SetHeightAndWidth utility method sets the Height and Width
' properties through the model and commits the change.
Private Sub SetHeightAndWidth(ByVal [auto] As Boolean) 

    settingProperties = True

    Dim batchedChange As ModelEditingScope = adornedControlModel.BeginEdit()
    Try
        Dim widthProperty As ModelProperty = adornedControlModel.Properties("Width")

        Dim heightProperty As ModelProperty = adornedControlModel.Properties("Height")

        If [auto] Then
            widthProperty.ClearValue()
            heightProperty.ClearValue()
        Else
            widthProperty.SetValue(20.0)
            heightProperty.SetValue(20.0)
        End If

        batchedChange.Complete()
    Finally
        batchedChange.Dispose()
        settingProperties = False
    End Try

End Sub
// The SetHeightAndWidth utility method sets the Height and Width
// properties through the model and commits the change.
private void SetHeightAndWidth(bool autoSize)
{
    settingProperties = true;

    try
    {
    using (ModelEditingScope batchedChange = adornedControlModel.BeginEdit())
    {
        ModelProperty widthProperty =
            adornedControlModel.Properties["Width"];

        ModelProperty heightProperty =
            adornedControlModel.Properties["Height"];

        if (autoSize)
        {
            widthProperty.ClearValue();
            heightProperty.ClearValue();
        }
        else
        {
            widthProperty.SetValue(20d);
            heightProperty.SetValue(20d);
        }

        batchedChange.Complete();
    }
    }
    finally { settingProperties = false; }
}

スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

参照

参照

Microsoft.Windows.Design.Model 名前空間

その他の技術情報

チュートリアル : デザイン時装飾の作成

WPF デザイナーの機能拡張