哪个wpf控件最适合此菜单场景?
我需要一个按钮式菜单,即水平排列的一组始终可见的按钮。哪个wpf控件最适合此菜单场景?,wpf,menu,user-controls,Wpf,Menu,User Controls,我需要一个按钮式菜单,即水平排列的一组始终可见的按钮。 与单选按钮一样,它们应该有一个选定的属性,即单击命令应该仅在选定状态变为true时触发,而不是像普通按钮那样在每次单击时都触发。RadioButton也与其他按钮一样,在每次单击时触发单击事件。单选按钮上也没有选定的属性 但是如果您希望您的菜单项类似于按钮,那么您可以在这里使用切换按钮。 ToggleButton具有IsChecked属性,该属性跟踪按钮的选中状态以及选中ToggleButton时触发的事件 此外,如果您想在单击其他切换按钮
与单选按钮一样,它们应该有一个选定的属性,即单击命令应该仅在选定状态变为true时触发,而不是像普通按钮那样在每次单击时都触发。
RadioButton
也与其他按钮一样,在每次单击时触发单击事件。单选按钮上也没有选定的属性
但是如果您希望您的菜单项类似于按钮
,那么您可以在这里使用切换按钮
。
ToggleButton
具有IsChecked
属性,该属性跟踪按钮的选中状态以及选中ToggleButton
时触发的事件
此外,如果您想在单击其他切换按钮时自动选中/取消选中您的切换按钮,则可以将RadioButton
用作菜单项的数据模板
,并覆盖其模板
,如下所示:
<RadioButton Content="MyRadio" Click="RadioButton_Click">
<RadioButton.Template>
<ControlTemplate TargetType="RadioButton">
<ToggleButton Checked="ToggleButton_Checked" IsChecked="{Binding IsChecked, RelativeSource={RelativeSource TemplatedParent}}" Content="{TemplateBinding Content}"/>
</ControlTemplate>
</RadioButton.Template>
</RadioButton>
单选按钮
与其他按钮一样,每次单击都会触发单击事件。单选按钮上也没有选定的属性
但是如果您希望您的菜单项类似于按钮
,那么您可以在这里使用切换按钮
。
ToggleButton
具有IsChecked
属性,该属性跟踪按钮的选中状态以及选中ToggleButton
时触发的事件
此外,如果您想在单击其他切换按钮时自动选中/取消选中您的切换按钮,则可以将RadioButton
用作菜单项的数据模板
,并覆盖其模板
,如下所示:
<RadioButton Content="MyRadio" Click="RadioButton_Click">
<RadioButton.Template>
<ControlTemplate TargetType="RadioButton">
<ToggleButton Checked="ToggleButton_Checked" IsChecked="{Binding IsChecked, RelativeSource={RelativeSource TemplatedParent}}" Content="{TemplateBinding Content}"/>
</ControlTemplate>
</RadioButton.Template>
</RadioButton>
单选按钮
与其他按钮一样,每次单击都会触发单击事件。单选按钮上也没有选定的属性
但是如果您希望您的菜单项类似于按钮
,那么您可以在这里使用切换按钮
。
ToggleButton
具有IsChecked
属性,该属性跟踪按钮的选中状态以及选中ToggleButton
时触发的事件
此外,如果您想在单击其他切换按钮时自动选中/取消选中您的切换按钮,则可以将RadioButton
用作菜单项的数据模板
,并覆盖其模板
,如下所示:
<RadioButton Content="MyRadio" Click="RadioButton_Click">
<RadioButton.Template>
<ControlTemplate TargetType="RadioButton">
<ToggleButton Checked="ToggleButton_Checked" IsChecked="{Binding IsChecked, RelativeSource={RelativeSource TemplatedParent}}" Content="{TemplateBinding Content}"/>
</ControlTemplate>
</RadioButton.Template>
</RadioButton>
单选按钮
与其他按钮一样,每次单击都会触发单击事件。单选按钮上也没有选定的属性
但是如果您希望您的菜单项类似于按钮
,那么您可以在这里使用切换按钮
。
ToggleButton
具有IsChecked
属性,该属性跟踪按钮的选中状态以及选中ToggleButton
时触发的事件
此外,如果您想在单击其他切换按钮时自动选中/取消选中您的切换按钮,则可以将RadioButton
用作菜单项的数据模板
,并覆盖其模板
,如下所示:
<RadioButton Content="MyRadio" Click="RadioButton_Click">
<RadioButton.Template>
<ControlTemplate TargetType="RadioButton">
<ToggleButton Checked="ToggleButton_Checked" IsChecked="{Binding IsChecked, RelativeSource={RelativeSource TemplatedParent}}" Content="{TemplateBinding Content}"/>
</ControlTemplate>
</RadioButton.Template>
</RadioButton>
都德,这是WPF,您可以使用符合某些或任何需求的任何控件,然后只需为其提供一个新的控件模板。顺便说一句,在单选按钮上没有Selected
或IsSelected
属性。。。也许您指的是IsChecked
属性?此属性继承自切换按钮
,因此可能更合适
由于切换按钮
已经是一个按钮
,您甚至可以不用为它提供一个新的控制模板
至于您对点击事件的要求,我认为您不会在任何WPF控件上找到该功能,但可以手动实现:
private void Button_Click(object sender, RoutedEventArgs e)
{
if (ToggleButton.IsChecked == true)
{
// Do something here when the `Button.IsChecked` == true
}
}
Dude,这是WPF,您可以使用任何符合某些或任何需求的控件,然后只需为其提供一个新的ControlTemplate
。顺便说一句,在单选按钮上没有Selected
或IsSelected
属性。。。也许您指的是IsChecked
属性?此属性继承自切换按钮
,因此可能更合适
由于切换按钮
已经是一个按钮
,您甚至可以不用为它提供一个新的控制模板
至于您对点击事件的要求,我认为您不会在任何WPF控件上找到该功能,但可以手动实现:
private void Button_Click(object sender, RoutedEventArgs e)
{
if (ToggleButton.IsChecked == true)
{
// Do something here when the `Button.IsChecked` == true
}
}
Dude,这是WPF,您可以使用任何符合某些或任何需求的控件,然后只需为其提供一个新的ControlTemplate
。顺便说一句,在单选按钮上没有Selected
或IsSelected
属性。。。也许您指的是IsChecked
属性?此属性继承自切换按钮
,因此可能更合适
由于切换按钮
已经是一个按钮
,您甚至可以不用为它提供一个新的控制模板
至于你方关于