ContextMenuProvider.UpdateItemStatus 이벤트
업데이트: 2007년 11월
메뉴 항목이 표시되기 직전에 발생합니다.
네임스페이스: Microsoft.Windows.Design.Interaction
어셈블리: Microsoft.Windows.Design.Extensibility(Microsoft.Windows.Design.Extensibility.dll)
구문
Public Event UpdateItemStatus As EventHandler(Of MenuActionEventArgs)
Dim instance As ContextMenuProvider
Dim handler As EventHandler(Of MenuActionEventArgs)
AddHandler instance.UpdateItemStatus, handler
public event EventHandler<MenuActionEventArgs> UpdateItemStatus
public:
event EventHandler<MenuActionEventArgs^>^ UpdateItemStatus {
void add (EventHandler<MenuActionEventArgs^>^ value);
void remove (EventHandler<MenuActionEventArgs^>^ value);
}
JScript에서는 이벤트를 지원하지 않습니다.
예제
다음 코드 예제에서는 UpdateItemStatus 이벤트를 처리하여 MenuAction 개체를 기본 선택 내용의 값으로 업데이트하는 방법을 보여 줍니다. 자세한 내용은 연습: MenuAction 만들기를 참조하십시오.
' The following method handles the UpdateItemStatus event.
' It sets the MenuAction states according to the state
' of the control's Background property. This method is
' called before the context menu is shown.
Sub CustomContextMenuProvider_UpdateItemStatus( _
ByVal sender As Object, _
ByVal e As MenuActionEventArgs)
' Turn everything on, and then based on the value
' of the BackgroundProperty, selectively turn some off.
clearBackgroundMenuAction.Checked = False
clearBackgroundMenuAction.Enabled = True
setBackgroundToBlueMenuAction.Checked = False
setBackgroundToBlueMenuAction.Enabled = True
' Get a ModelItem which represents the selected control.
Dim selectedControl As ModelItem = _
e.Selection.PrimarySelection
' Get the value of the Background property from the ModelItem.
Dim backgroundProperty As ModelProperty = _
selectedControl.Properties(Control.BackgroundProperty)
' Set the MenuAction items appropriately.
If Not backgroundProperty.IsSet Then
clearBackgroundMenuAction.Checked = True
clearBackgroundMenuAction.Enabled = False
ElseIf backgroundProperty.ComputedValue.Equals(Brushes.Blue) Then
setBackgroundToBlueMenuAction.Checked = True
setBackgroundToBlueMenuAction.Enabled = False
End If
End Sub
// The following method handles the UpdateItemStatus event.
// It sets the MenuAction states according to the state
// of the control's Background property. This method is
// called before the context menu is shown.
void CustomContextMenuProvider_UpdateItemStatus(
object sender,
MenuActionEventArgs e)
{
// Turn everything on, and then based on the value
// of the BackgroundProperty, selectively turn some off.
clearBackgroundMenuAction.Checked = false;
clearBackgroundMenuAction.Enabled = true;
setBackgroundToBlueMenuAction.Checked = false;
setBackgroundToBlueMenuAction.Enabled = true;
// Get a ModelItem which represents the selected control.
ModelItem selectedControl = e.Selection.PrimarySelection;
// Get the value of the Background property from the ModelItem.
ModelProperty backgroundProperty =
selectedControl.Properties[Control.BackgroundProperty];
// Set the MenuAction items appropriately.
if (!backgroundProperty.IsSet)
{
clearBackgroundMenuAction.Checked = true;
clearBackgroundMenuAction.Enabled = false;
}
else if (backgroundProperty.ComputedValue == Brushes.Blue)
{
setBackgroundToBlueMenuAction.Checked = true;
setBackgroundToBlueMenuAction.Enabled = false;
}
}
권한
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.
참고 항목
참조
Microsoft.Windows.Design.Interaction 네임스페이스
PrimarySelectionContextMenuProvider