C# wpf 滑块值和文本框

C# wpf slider value and Text box

我正在使用一个文本框、滑块。我需要一些代码的帮助。我正在尝试制作一个像这样工作的程序,当我决定什么值将具有 slider 时,我将它写在文本框中,并且 slider 值会自动更新。一切都很好,但是当我尝试输入另一个值时,会显示消息 "input string was not in a correct format"。代码在:

<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);
}

尝试

<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>Text>Binding 中添加 UpdateSourceTrigger=PropertyChanged

在后面的代码中试试这个:

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