我正在使用一个文本框,滑块。我需要一些代码的帮助。我正在尝试制作一个像这样工作的程序,当我决定哪个值有滑块时,我在文本框中写入,并自动更新滑块值。一切都很好,但是当我尝试放入另一个值时,则显示消息"输入字符串格式不正确"。代码在:
<Slider Margin="0,10,0,0" TickPlacement="BottomRight" TickFrequency="10" Name="SL2" Minimum="0" Maximum="100"/>
<TextBox Name="txtslider2" Height="30" Width="150" Margin="45,10,0,0" TextChanged="txtslider2_TextChanged" />
<Label Name="lblslider2" Content= Slider II" Height="30" Width="130" Margin="-220,-30,10,0"/>
private void txtslider2_TextChanged(object sender, TextChangedEventArgs e)
{
SL2.Value = SL2.Value + int.Parse(txtslider2.Text);
}
答案 0 :(得分:1)
尝试
<StackPanel>
<Slider x:Name="SL2" Minimum="0" Maximum="100" Value="{Binding ElementName=txtslider2, Path=text}" />
<TextBox x:Name="txtslider2" Text="{Binding ElementName=SL2, Path=Value, UpdateSourceTrigger=PropertyChanged}"/>
<Label Content="Slider II"/>
</StackPanel>
并删除txtslider2_TextChanged函数
UPD1:在TextBox中添加UpdateSourceTrigger = PropertyChanged&gt; Text&gt; Binding
答案 1 :(得分:0)
在后面的代码中尝试此操作:
private void txtslider2_TextChanged(object sender, TextChangedEventArgs e)
{
string val = (txtslider2.Text != "") ? txtslider2.Text : "0";
SL2.Value = int.Parse(val);
}