未能限制滑块值的小数点+在ToggleButtons上设置IsChecked一次一个

时间:2012-10-17 11:29:36

标签: c# .net wpf slider togglebutton

好伙计们,我很抱歉这个怪异的头衔,却找不到更好的头衔。好吧,我正在开发一个WPF应用程序。我正在研究滑块和ToggleButtons。这是一个愚蠢的情况。让我告诉你我的代码:

XAML:

<ToggleButton Name="OneSixBit" Content="16 Bit" />
<ToggleButton Name="ThreeTwoBit" Content="32 Bit" />
<ToggleButton Name="TwentyBit" Content="20 Bit" />
<ToggleButton Name="TwentyFourBit" Content="24 Bit" />

<Label Name="BitDelay" Content="Bit Delay" />
<Slider Minimum="0.0" Maximum="255.0" TickFrequency="1.0" Name="bitdelayslider" />
<TextBox Name="BitDelayValue" IsReadOnly="True" Text="{Binding ElementName=bitdelayslider,Path=Value}" />

我有两个问题:

  1. 在Togglebuttons中,我想一次在一个按钮上将切换状态设置为checked=true。即如果Btn1的切换状态是checked=true,我点击任何其他切换按钮,除非我在btn1上设置checked=false,否则不应该检查。

  2. 我有一个最大值从0.0到255.0的滑块,它应该以1的频率移动。每当我移动滑块时,我都可以在文本框上显示值,但它显示的不仅仅是小数点后1位。即当我从0.0移动时,显示的值是2.3456 ....等。如何确保只能看到一个小数点?

  3. 谢谢:)

1 个答案:

答案 0 :(得分:7)

  1. 使用RadioButton代替ToggleButton,他们可以提供您想要的行为(一次检查一次)。如果您愿意,可以style them like buttons

  2. StringFormat Binding添加{Binding ElementName=bitdelayslider, Path=Value, StringFormat=0.0}