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

Sto*_*sus 3 .net c# 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}" />
Run Code Online (Sandbox Code Playgroud)

我这里有两个问题:

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

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

谢谢 :)

Jul*_*ain 7

  1. 使用RadioButton而不是ToggleButton,他们有你想要的行为(一次检查一个)开箱即用.如果需要,您可以像按钮一样设置样式.

  2. 添加StringFormat到您的Binding:{Binding ElementName=bitdelayslider, Path=Value, StringFormat=0.0}.