3

好吧,伙计们,我很抱歉这个奇怪的标题,但找不到更好的标题。好吧,我正在开发一个 WPF 应用程序。我正在研究滑块和切换按钮。这是一个愚蠢的情况。让我向您展示我的代码:

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并且我单击任何其他切换按钮,它不应该检查,除非我checked=false在 btn1 上进行。

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

谢谢 :)

4

1 回答 1

7
  1. 使用RadioButton而不是ToggleButton,它们具有您想要的行为(一次检查一个)开箱即用。如果需要,您可以将它们设置为按钮

  2. StringFormat在您的Binding:中添加一个{Binding ElementName=bitdelayslider, Path=Value, StringFormat=0.0}

于 2012-10-17T11:36:05.683 回答