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 ContextMenu yang berbeda 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 menu untuk menampilkan pada item yang ContextMenuService dinonaktifkan.

Bidang

Nama Deskripsi
ContextMenuClosingEvent

Mengidentifikasi peristiwa yang dirutekan ContextMenuClosing .

ContextMenuOpeningEvent

Mengidentifikasi peristiwa terlampir ContextMenuOpening .

ContextMenuProperty

ContextMenu Mengidentifikasi properti terlampir.

HasDropShadowProperty

HasDropShadow Mengidentifikasi properti terlampir.

HorizontalOffsetProperty

HorizontalOffset Mengidentifikasi properti terlampir.

IsEnabledProperty

IsEnabled Mengidentifikasi properti terlampir.

PlacementProperty

Placement Mengidentifikasi properti terlampir.

PlacementRectangleProperty

PlacementRectangle Mengidentifikasi properti terlampir.

PlacementTargetProperty

PlacementTarget Mengidentifikasi properti terlampir.

ShowOnDisabledProperty

ShowOnDisabled Mengidentifikasi properti terlampir.

VerticalOffsetProperty

VerticalOffset Mengidentifikasi properti terlampir.

Properti yang Terlampir

Nama Deskripsi
ContextMenu

Mendapatkan atau mengatur konten .ContextMenu

HasDropShadow

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

HorizontalOffset

Mendapatkan atau menetapkan nilai yang menunjukkan di mana di 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

Nama Deskripsi
AddContextMenuClosingHandler(DependencyObject, ContextMenuEventHandler)

Menambahkan handler untuk ContextMenuClosing kejadian terlampir.

AddContextMenuOpeningHandler(DependencyObject, ContextMenuEventHandler)

Menambahkan handler untuk ContextMenuOpening kejadian terlampir.

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 objek yang ditentukan.

SetHasDropShadow(DependencyObject, Boolean)

Mengatur nilai yang menunjukkan apakah ContextMenu memiliki bayangan jatuh.

SetHorizontalOffset(DependencyObject, Double)

Mengatur nilai HorizontalOffset properti objek yang ditentukan.

SetIsEnabled(DependencyObject, Boolean)

Mengatur nilai IsEnabled properti objek yang ditentukan.

SetPlacement(DependencyObject, PlacementMode)

Mengatur nilai Placement properti objek yang ditentukan.

SetPlacementRectangle(DependencyObject, Rect)

Mengatur nilai PlacementRectangle properti objek yang ditentukan.

SetPlacementTarget(DependencyObject, UIElement)

Mengatur nilai PlacementTarget properti objek yang ditentukan.

SetShowOnDisabled(DependencyObject, Boolean)

Mengatur nilai ShowOnDisabled properti objek yang ditentukan.

SetVerticalOffset(DependencyObject, Double)

Mengatur nilai VerticalOffset properti objek yang ditentukan.

Acara yang Terlampir

Nama Deskripsi
ContextMenuClosing

Terjadi ketika penutupan ContextMenu .

ContextMenuOpening

Terjadi ketika ContextMenu terbuka.

Berlaku untuk

Lihat juga