我在我的WPF窗口中有一个SplitButton
,它是从Xceed的Extended WPF Toolkit借来的。下拉内容由一些RadioButton
组成。类似这样:
<Window x:Class="WpfTest.Test3"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:tk="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit"
Title="Test3" Height="300" Width="300">
<Grid Height="25" Width="150">
<tk:SplitButton Content="Default Command">
<tk:SplitButton.DropDownContent>
<StackPanel>
<RadioButton Content="Default Command" GroupName="variations" Margin="5" IsChecked="True"/>
<RadioButton Content="Alternate Command 1" GroupName="variations" Margin="5"/>
<RadioButton Content="Alternate Command 2" GroupName="variations" Margin="5"/>
</StackPanel>
</tk:SplitButton.DropDownContent>
</tk:SplitButton>
</Grid>
</Window>
生成的效果如下:
问题是,当我点击每个 RadioButton
时,下拉菜单并没有消失。我查了一些资料,发现应该为每个 RadioButton
处理 Click
事件。但是我不知道如何在该事件处理程序中隐藏下拉菜单。另外,似乎 MenuItem
有一个名为 StaysOpenOnClick 的属性,但其他控件却没有。
虽然以编程方式完成可以满足需求,但是否有MVVM方式实现呢?
SplitButton
有一个DropDownContent
属性,可以填充MenuItem
或类似我尝试的内容。我不明白你的意思。 - polfosol ఠ_ఠ