編集ストアに対する変更グループを表します。
継承階層
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 名前空間