Bagikan melalui


ContextMenuService Kelas

Definisi

Menyediakan implementasi sistem untuk menampilkan ContextMenu.

public ref class ContextMenuService abstract sealed
public static class ContextMenuService
type ContextMenuService = class
Public Class ContextMenuService
Warisan
ContextMenuService

Contoh

Contoh berikut menetapkan yang sama ContextMenu ke dua tombol dan mengatur HasDropShadowproperti , , PlacementPlacementRectangle, HorizontalOffset, dan VerticalOffset untuk mengatur ContextMenu ke posisi yang berbeda untuk setiap tombol.

<StackPanel>
  <StackPanel.Resources>
    <ContextMenu x:Key="myContextMenu">
      <MenuItem Header="Item"/>
    </ContextMenu>
  </StackPanel.Resources>

  <!--Both buttons use the same ContextMenu but use the
    properties on ContextMenuService to position them
    differently.-->
  <Button ContextMenu="{StaticResource myContextMenu}" 
          ContextMenuService.HasDropShadow="False" 
          ContextMenuService.Placement="Relative"
          ContextMenuService.HorizontalOffset="50"
          ContextMenuService.VerticalOffset="-10">
    button 1
  </Button>

  <Button ContextMenu="{StaticResource myContextMenu}" 
          ContextMenuService.HasDropShadow="True"
          ContextMenuService.Placement="Right"
          ContextMenuService.PlacementRectangle="0,0,30,30">
    button 2
  </Button>
</StackPanel>

Contoh berikut menunjukkan cara menggunakan layanan untuk menampilkan ContextMenu pada tombol yang dinonaktifkan. Perhatikan bahwa Anda mengatur ShowOnDisabled properti pada tombol yang merupakan induk menu konteks.

<Button Height="30" Content="Disabled Button" IsEnabled="False" 
     ContextMenuService.ShowOnDisabled="True">
  <Button.ContextMenu>
    <ContextMenu>
      <MenuItem Header="Item 1"/>
      <MenuItem Header="Item 2"/>
      <MenuItem Header="Item 3"/>
    </ContextMenu>
  </Button.ContextMenu>
</Button>

Keterangan

Kelas ContextMenuService menyediakan properti terlampir yang dapat digunakan untuk menentukan tampilan dan posisi menu konteks. Banyak properti di ContextMenuService kelas juga didefinisikan oleh ContextMenu. Terkadang lebih nyaman untuk mengatur properti dengan menggunakan ContextMenuService kelas daripada dengan mengatur properti pada ContextMenu. Misalnya, Anda dapat membuat ContextMenu untuk dibagikan oleh beberapa elemen, tetapi menggunakan ContextMenuService kelas untuk menentukan posisi yang berbeda dari ContextMenu untuk setiap elemen. Properti berikut didefinisikan oleh ContextMenu kelas dan ContextMenuService . Jika salah satu properti ini diatur pada dan ContextMenuContextMenuService, nilai properti dari ContextMenuService digunakan.

Anda juga dapat menggunakan ContextMenuService untuk menampilkan menu pada item yang dinonaktifkan.

Bidang

ContextMenuClosingEvent

Mengidentifikasi peristiwa yang dirutekan ContextMenuClosing .

ContextMenuOpeningEvent

Mengidentifikasi peristiwa terlampir ContextMenuOpening .

ContextMenuProperty

Mengidentifikasi properti terlampir ContextMenu .

HasDropShadowProperty

Mengidentifikasi properti terlampir HasDropShadow .

HorizontalOffsetProperty

Mengidentifikasi properti terlampir HorizontalOffset .

IsEnabledProperty

Mengidentifikasi properti terlampir IsEnabled .

PlacementProperty

Mengidentifikasi properti terlampir Placement .

PlacementRectangleProperty

Mengidentifikasi properti terlampir PlacementRectangle .

PlacementTargetProperty

Mengidentifikasi properti terlampir PlacementTarget .

ShowOnDisabledProperty

Mengidentifikasi properti terlampir ShowOnDisabled .

VerticalOffsetProperty

Mengidentifikasi properti terlampir VerticalOffset .

Properti yang Terlampir

ContextMenu

Mendapatkan atau mengatur konten dari ContextMenu.

HasDropShadow

Mendapatkan atau menetapkan nilai yang menunjukkan apakah ContextMenu efek bayangan drop diaktifkan.

HorizontalOffset

Mendapatkan atau menetapkan nilai yang menunjukkan di mana sepanjang arah x untuk menempatkan ContextMenu sehubungan dengan kontrol induk.

IsEnabled

Mendapatkan atau menetapkan nilai yang menunjukkan apakah ContextMenu dapat ditampilkan.

Placement

Mendapatkan atau menetapkan nilai yang menentukan penempatan ContextMenu relatif terhadap PlacementTarget atau PlacementRectangle.

PlacementRectangle

Mendapatkan atau mengatur area relatif terhadap tempat menu konteks diposisikan saat terbuka.

PlacementTarget

Mendapatkan atau mengatur kontrol induk dari ContextMenu.

ShowOnDisabled

Mendapatkan atau menetapkan nilai yang menunjukkan apakah ContextMenu harus ditampilkan saat induknya berwarna abu-abu.

VerticalOffset

Mendapatkan atau menetapkan nilai yang menunjukkan di mana sepanjang arah y untuk menempatkan ContextMenu sehubungan dengan kontrol induk.

Metode

AddContextMenuClosingHandler(DependencyObject, ContextMenuEventHandler)

Menambahkan handler untuk kejadian terlampir ContextMenuClosing .

AddContextMenuOpeningHandler(DependencyObject, ContextMenuEventHandler)

Menambahkan handler untuk kejadian terlampir ContextMenuOpening .

GetContextMenu(DependencyObject)

Mendapatkan nilai ContextMenu properti dari objek yang ditentukan.

GetHasDropShadow(DependencyObject)

Mendapatkan nilai yang menunjukkan apakah ContextMenu memiliki bayangan jatuh.

GetHorizontalOffset(DependencyObject)

Mendapatkan nilai HorizontalOffset properti dari objek yang ditentukan.

GetIsEnabled(DependencyObject)

Mendapatkan nilai IsEnabled properti dari objek yang ditentukan.

GetPlacement(DependencyObject)

Mendapatkan nilai Placement properti dari objek yang ditentukan.

GetPlacementRectangle(DependencyObject)

Mendapatkan nilai PlacementRectangle properti dari objek yang ditentukan.

GetPlacementTarget(DependencyObject)

Mendapatkan nilai PlacementTarget properti dari objek yang ditentukan.

GetShowOnDisabled(DependencyObject)

Mendapatkan nilai ShowOnDisabled properti dari objek yang ditentukan.

GetVerticalOffset(DependencyObject)

Mendapatkan nilai VerticalOffset properti dari objek yang ditentukan.

RemoveContextMenuClosingHandler(DependencyObject, ContextMenuEventHandler)

Menghapus handler untuk kejadian terlampir ContextMenuClosing .

RemoveContextMenuOpeningHandler(DependencyObject, ContextMenuEventHandler)

Menghapus handler untuk kejadian terlampir ContextMenuOpening .

SetContextMenu(DependencyObject, ContextMenu)

Mengatur nilai ContextMenu properti dari objek yang ditentukan.

SetHasDropShadow(DependencyObject, Boolean)

Mengatur nilai yang menunjukkan apakah ContextMenu memiliki bayangan jatuh.

SetHorizontalOffset(DependencyObject, Double)

Mengatur nilai HorizontalOffset properti dari objek yang ditentukan.

SetIsEnabled(DependencyObject, Boolean)

Mengatur nilai IsEnabled properti dari objek yang ditentukan.

SetPlacement(DependencyObject, PlacementMode)

Mengatur nilai Placement properti dari objek yang ditentukan.

SetPlacementRectangle(DependencyObject, Rect)

Mengatur nilai PlacementRectangle properti dari objek yang ditentukan.

SetPlacementTarget(DependencyObject, UIElement)

Mengatur nilai PlacementTarget properti dari objek yang ditentukan.

SetShowOnDisabled(DependencyObject, Boolean)

Mengatur nilai ShowOnDisabled properti dari objek yang ditentukan.

SetVerticalOffset(DependencyObject, Double)

Mengatur nilai VerticalOffset properti dari objek yang ditentukan.

Acara yang Terlampir

ContextMenuClosing

Terjadi saat ContextMenu penutupan.

ContextMenuOpening

Terjadi ketika ContextMenu terbuka.

Berlaku untuk

Lihat juga