ModelEditingScope 類別
更新:2007 年 11 月
表示對編輯存放區的一組變更。
命名空間: Microsoft.Windows.Design.Model
組件: Microsoft.Windows.Design.Interaction (在 Microsoft.Windows.Design.Interaction.dll 中)
語法
Public MustInherit Class ModelEditingScope _
Implements IDisposable
Dim instance As ModelEditingScope
public abstract class ModelEditingScope : IDisposable
public ref class ModelEditingScope abstract : IDisposable
public abstract class ModelEditingScope implements IDisposable
備註
變更群組為可交易。在編輯範圍下所做的變更可以整批認可或中止。
認可編輯範圍時,編輯存放區會取得其中發生的所有變更並套用至模型。如果呼叫編輯範圍的 Revert 方法,或在呼叫 Complete 方法之前處置編輯範圍,則編輯範圍反而會還原基礎物件的變更,並從編輯存放區重新套用狀態。這為復原機制提供堅固的基礎。
請一律將編輯範圍放在 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(Control.WidthProperty)
Dim heightProperty As ModelProperty = adornedControlModel.Properties(Control.HeightProperty)
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[Control.WidthProperty];
ModelProperty heightProperty =
adornedControlModel.Properties[Control.HeightProperty];
if (autoSize)
{
widthProperty.ClearValue();
heightProperty.ClearValue();
}
else
{
widthProperty.SetValue(20d);
heightProperty.SetValue(20d);
}
batchedChange.Complete();
}
}
finally { settingProperties = false; }
}
繼承階層架構
System.Object
Microsoft.Windows.Design.Model.ModelEditingScope
執行緒安全
這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。
請參閱
參考
Microsoft.Windows.Design.Model 命名空間