2015-03-31 72 views
0

我正在使用一个文本框,滑块。我需要关于一些代码的帮助。我试图制作一个程序,它可以像这样工作,当我决定什么值会有滑块,我写在文本框中,并自动更新滑块值。每一件事情都很好,但是当我试图把另一个值,然后显示消息“输入字符串不是在一个正确的格式”。代码是根据:C#wpf滑块值和文本框

<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

尝试

<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:添加UpdateSourceTrigger =的PropertyChanged在文本框>正文>绑定

+0

谢谢sriman reddy,它工作 – berat 2015-03-31 15:21:32

0

在后面的代码试试这个:

private void txtslider2_TextChanged(object sender, TextChangedEventArgs e) 
      {     
        string val = (txtslider2.Text != "") ? txtslider2.Text : "0"; 
        SL2.Value = int.Parse(val);     
      }