首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何让一组切换按钮在WPF中像单选按钮一样工作?

如何让一组切换按钮在WPF中像单选按钮一样工作?
EN

Stack Overflow用户
提问于 2010-03-02 19:08:31
回答 10查看 81.8K关注 0票数 129

我有一组按钮,它们的作用应该像切换按钮,但也可以作为单选按钮,在当前时间只能选择/按下一个按钮。它还需要具有没有选择/按下任何按钮的状态。

它的行为有点像Photoshop工具栏,在任何时候都可以选择零个或一个工具!

您知道如何在WPF中实现此功能吗?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2010-03-03 00:41:37

最简单的方法是将ListBox的样式设置为对其ItemTemplate使用ToggleButtons

代码语言:javascript
复制
<Style TargetType="{x:Type ListBox}">
    <Setter Property="ListBox.ItemTemplate">
        <Setter.Value>
            <DataTemplate>
                <ToggleButton Content="{Binding}" 
                              IsChecked="{Binding IsSelected, Mode=TwoWay, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListBoxItem}}}"
                />
            </DataTemplate>
        </Setter.Value>
    </Setter>
</Style>

然后,您可以使用ListBox的SelectionMode属性来处理SingleSelect和MultiSelect。

票数 38
EN

Stack Overflow用户

发布于 2011-03-13 11:44:23

在我看来,这是最简单的方法。

代码语言:javascript
复制
<RadioButton Style="{StaticResource {x:Type ToggleButton}}" />

尽情享受吧!-- Pricksaw

票数 316
EN

Stack Overflow用户

发布于 2011-03-04 07:43:58

代码语言:javascript
复制
<RadioButton Content="Point" >
    <RadioButton.Template>
        <ControlTemplate>
            <ToggleButton IsChecked="{Binding IsChecked, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"
                          Content="{Binding Content, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"/>
        </ControlTemplate>
    </RadioButton.Template>
</RadioButton>

它为我工作,享受吧!

票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2362641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档