EditorPart.SyncChanges メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
関連付けられているWebPart コントロールのEditorPart コントロールからプロパティ値を取得します。
public:
abstract void SyncChanges();
public abstract void SyncChanges();
abstract member SyncChanges : unit -> unit
Public MustOverride Sub SyncChanges ()
例
次のコード例では、カスタム SyncChanges コントロールに EditorPart メソッドを実装する方法を示します。 この例を実行するために必要な完全なコードについては、 EditorPart クラスの概要の「例」セクションを参照してください。
コード例の最初の部分では、SyncChanges という名前のカスタム EditorPart クラスにTextDisplayEditorPart メソッドを実装する方法を示します。 このメソッドは、TextDisplayWebPart プロパティを使用して、関連付けられているWebPartToEdit コントロールへの参照を取得します。 次に、TextDisplayWebPart.FontStyle プロパティの値を取得し、カスタム TextDisplayEditorPart.PartContentFontStyle コントロールのドロップダウン リスト コントロール (EditorPart プロパティによって参照される) で選択されている項目を更新します。
public override void SyncChanges()
{
TextDisplayWebPart part =
(TextDisplayWebPart)WebPartToEdit;
String currentStyle = part.FontStyle;
// Select the current font style in the drop-down control.
foreach (ListItem item in PartContentFontStyle.Items)
{
if (item.Value == currentStyle)
{
item.Selected = true;
break;
}
}
}
Public Overrides Sub SyncChanges()
Dim part As TextDisplayWebPart = CType(WebPartToEdit, _
TextDisplayWebPart)
Dim currentStyle As String = part.FontStyle
' Select the current font style in the drop-down control.
Dim item As ListItem
For Each item In PartContentFontStyle.Items
If item.Value = currentStyle Then
item.Selected = True
Exit For
End If
Next item
End Sub
コード例の 2 番目の部分では、関連付けられたWebPart コントロール (TextDisplayWebPart) によって、関連付けられたEditorPart コントロールのコレクション (この場合、コレクション内に EditorPart という名前のTextDisplayEditorPart コントロールが 1 つだけ存在します) が、CreateEditorParts メソッドの実装でどのように作成されるかを示します。 このメソッドは、 TextDisplayWebPart コントロールが編集モードになったときに実行されます。
public override EditorPartCollection CreateEditorParts()
{
ArrayList editorArray = new ArrayList();
TextDisplayEditorPart edPart = new TextDisplayEditorPart();
edPart.ID = this.ID + "_editorPart1";
editorArray.Add(edPart);
EditorPartCollection editorParts =
new EditorPartCollection(editorArray);
return editorParts;
}
public override object WebBrowsableObject
{
get { return this; }
}
Public Overrides Function CreateEditorParts() _
As EditorPartCollection
Dim editorArray As New ArrayList()
Dim edPart as New TextDisplayEditorPart()
edPart.ID = Me.ID & "_editorPart1"
editorArray.Add(edPart)
Dim editorParts As New EditorPartCollection(editorArray)
Return editorParts
End Function
Public Overrides ReadOnly Property WebBrowsableObject() _
As Object
Get
Return Me
End Get
End Property
注釈
SyncChanges メソッドは、EditorPart コントロールの重要なメソッドです。 これは、 EditorPart クラスの抽象メソッドとして定義され、継承されたコントロールによって実装される必要があります。 このメソッドの目的は、WebPart プロパティで参照されているWebPartToEdit コントロールから現在の値を取得し、EditorPart コントロールのフィールドをそれらの値で更新して、ユーザーが編集できるようにすることです。
SyncChanges メソッドは、関連付けられているWebPart コントロールの値が変更された可能性があるたびに呼び出されます。 すべてのEditorPart コントロールについて、コントロールを含むEditorZoneBase ゾーンは、SyncChanges メソッドを呼び出した直後にApplyChanges メソッドを呼び出します。そのため、EditorPart コントロールの値は、関連付けられているWebPart コントロールの値と常に同期されます。 SyncChanges メソッドが呼び出されるもう 1 つのケースは、WebPart コントロールが編集モードになったときです。
Note
SyncChanges メソッドがApplyChangesを返した場合、false メソッドの後に呼び出されません。その場合、エラーが発生したためです。
注意 (実装者)
EditorPart クラスから派生するクラスは、SyncChanges() メソッドを実装する必要があります。 実装されたメソッドは、WebPartToEdit プロパティを使用して関連付けられたコントロールへの参照を取得し、関連付けられたEditorPart コントロールのプロパティ値を使用してWebPart コントロールを更新します。