dropdownメニュー内の背景色(マウスオーバー時)について、教えて頂きたく
質問させていただきました。
WPFで以下のようにdropdown内にボタンを配置しました。
dropdownを表示してボタン表示は出来ているのですが、
マウスオーバー時、その行全体の背景色がついてしまいます。
マウスオーバーしても行の背景色を変更したくないのですが、
これは可能でしょうか?
WPF学習中の初心者で申し訳ありませんが、
よろしくお願いします。
XAML
1<Window 2 x:Class="WpfDwopDownMenuButton.MainWindow" 3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 5 xmlns:l="clr-namespace:WpfDwopDownMenuButton" 6 Title="DwopDownMenuButton Test" Height="100" Width="200"> 7 8 9 <Grid> 10 <l:DropDownMenuButton Width="120" Height="32"> 11 12 <TextBlock Text="Show menu" /> 13 14 <l:DropDownMenuButton.DropDownContextMenu> 15 <ContextMenu> 16 <Button Content="AAAA"/> 17 <Button Content="BBBB"/> 18 </ContextMenu> 19 </l:DropDownMenuButton.DropDownContextMenu> 20 </l:DropDownMenuButton> 21 </Grid> 22</Window>
C#
1using System.Windows; 2using System.Windows.Controls; 3using System.Windows.Controls.Primitives; 4using System.Windows.Data; 5 6namespace WpfDwopDownMenuButton 7{ 8 /// <summary> 9 /// ドロップ ダウン メニューを表示する為のボタン コントロール クラスです。 10 /// </summary> 11 public sealed class DropDownMenuButton : ToggleButton 12 { 13 /// <summary> 14 /// インスタンスを初期化します。 15 /// </summary> 16 public DropDownMenuButton() 17 { 18 var binding = new Binding("DropDownContextMenu.IsOpen") { Source = this }; 19 this.SetBinding(DropDownMenuButton.IsCheckedProperty, binding); 20 } 21 22 /// <summary> 23 /// ドロップ ダウンとして表示するコンテキスト メニューを取得または設定します。 24 /// </summary> 25 public ContextMenu DropDownContextMenu 26 { 27 get 28 { 29 return this.GetValue(DropDownContextMenuProperty) as ContextMenu; 30 } 31 set 32 { 33 this.SetValue(DropDownContextMenuProperty, value); 34 } 35 } 36 37 /// <summary> 38 /// コントロールがクリックされた時のイベントです。 39 /// </summary> 40 protected override void OnClick() 41 { 42 if (this.DropDownContextMenu == null) { return; } 43 44 this.DropDownContextMenu.PlacementTarget = this; 45 this.DropDownContextMenu.Placement = PlacementMode.Bottom; 46 this.DropDownContextMenu.IsOpen = !DropDownContextMenu.IsOpen; 47 } 48 49 /// <summary> 50 /// ドロップ ダウンとして表示するメニューを表す依存プロパティです。 51 /// </summary> 52 public static readonly DependencyProperty DropDownContextMenuProperty = DependencyProperty.Register("DropDownContextMenu", typeof(ContextMenu), typeof(DropDownMenuButton), new UIPropertyMetadata(null)); 53 } 54}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/14 11:04