ContextMenu Genel Bakışı
sınıfı, ContextMenu bağlama özgü bir kullanarak işlevselliği ortaya çıkaran öğesini temsil Menu eder. Genellikle, kullanıcı fare düğmesine ContextMenu sağ kullanıcı arabirimi (UI) tıklayarak içinde 'i ortaya çıkarır. Bu konu, öğesini ContextMenu tanıtıyor ve ve kodunda kullanma örnekleri Extensible Application Markup Language (XAML) sağlar.
ContextMenu Denetimi
, ContextMenu belirli bir denetime iliştirilmiş. öğesi, kullanıcılara belirli bir denetimle ilişkili komutları veya seçenekleri belirten bir öğe listesi (örneğin, bir ) ContextMenu Button sunabilirsiniz. Kullanıcılar denetimi sağ tıklar ve menenin görünmesini sağlar. Genellikle, bir alt MenuItem menüsüne tıklar veya bir uygulamanın komut uygulamasına neden olur.
ContextMenus Oluşturma
Aşağıdaki örneklerde altmenüslerle ContextMenu bir oluşturma adımları verilmiştir. Denetimler ContextMenu düğme denetimlerine ekli.
<Button Name="cmButton" Height="30">
Button with Context Menu
<Button.ContextMenu>
<ContextMenu Name="cm" Opened="OnOpened" Closed="OnClosed" StaysOpen="true">
<MenuItem Header="File"/>
<MenuItem Header="Save"/>
<MenuItem Header="SaveAs"/>
<MenuItem Header="Recent Files">
<MenuItem Header="ReadMe.txt"/>
<MenuItem Header="Schedule.xls"/>
</MenuItem>
</ContextMenu>
</Button.ContextMenu>
</Button>
btn = new Button();
btn.Content = "Created with C#";
contextmenu = new ContextMenu();
btn.ContextMenu = contextmenu;
mi = new MenuItem();
mi.Header = "File";
mia = new MenuItem();
mia.Header = "New";
mi.Items.Add(mia);
mib = new MenuItem();
mib.Header = "Open";
mi.Items.Add(mib);
mib1 = new MenuItem();
mib1.Header = "Recently Opened";
mib.Items.Add(mib1);
mib1a = new MenuItem();
mib1a.Header = "Text.xaml";
mib1.Items.Add(mib1a);
contextmenu.Items.Add(mi);
cv2.Children.Add(btn);
Dim btn As New Button()
Dim contextmenu As New ContextMenu()
Dim mi As New MenuItem()
Dim mia As New MenuItem()
btn.Background = Brushes.Red
btn.Height = 30
btn.Content = "Created with Visual Basic."
mi.Header = ("Item 1")
contextmenu.Items.Add(mi)
mia.Header = ("Item 2")
contextmenu.Items.Add(mia)
btn.ContextMenu = (contextmenu)
cv2.Children.Add(btn)
ContextMenu'ya Stil Uygulama
bir denetimi kullanarak, özel denetim yazmadan görünümünü ve davranışını Style ContextMenu önemli ölçüde değiştirebilirsiniz. Görsel özellikleri ayarlamaya ek olarak, denetimin bölümlerine stiller de uygulayabilirsiniz. Örneğin, özellikleri kullanarak denetimin bölümlerinin davranışını değiştirebilir veya bir örneğine parça ekleyebilir veya düzenini ContextMenu değiştirebilirsiniz. Aşağıdaki örneklerde, denetimlere stiller eklemenin çeşitli yolları ContextMenu verilmiştir.
İlk örnek, stilinize uygun SimpleSysResources geçerli sistem ayarlarının nasıl kullanıl olduğunu gösteren adlı stili tanımlar. Örnek, MenuHighlightBrushKey rengi olarak ve rengini olarak Background MenuTextBrushKey Foreground ContextMenu atar.
<Style x:Key="SimpleSysResources" TargetType="{x:Type MenuItem}">
<Setter Property = "Background" Value=
"{DynamicResource {x:Static SystemColors.MenuHighlightBrushKey}}"/>
<Setter Property = "Foreground" Value=
"{DynamicResource {x:Static SystemColors.MenuTextBrushKey}}"/>
</Style>
Aşağıdaki örnek, Trigger öğesinde verilen olaylara yanıt olarak görünümünü Menu değiştirmek için öğesini ContextMenu kullanır. Kullanıcı fareyi menü üzerinde hareket ettirse öğelerin görünümü ContextMenu değişir.
<Style x:Key="Triggers" TargetType="{x:Type MenuItem}">
<Style.Triggers>
<Trigger Property="MenuItem.IsMouseOver" Value="true">
<Setter Property = "FontSize" Value="16"/>
<Setter Property = "FontStyle" Value="Italic"/>
<Setter Property = "Foreground" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>