共用方式為


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) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。

請參閱

參考

ModelEditingScope 成員

Microsoft.Windows.Design.Model 命名空間

其他資源

逐步解說:建立設計階段裝飾項

WPF 設計工具擴充性