我在我的MainPage()中有以下代码行:
string str = tbx1.Text;
然后我有一个更改此TextBox的滑块:
private void Slider_ValueChanged_1(object sender, RoutedPropertyChangedEventArgs<double> e)
{
Slider slider1 = sender as Slider;
tbx1.Text = slider1.Value.ToString();
}
当我运行应用程序时,会读入默认值tbx1
,并且可以使用滑块更改它。但是,如何将tbx1
的新值读入str
?似乎只有默认值保存在str
。
答案 0 :(得分:1)
如果可以访问字符串,则可以执行以下操作
private void Slider_ValueChanged_1(object sender, RoutedPropertyChangedEventArgs<double> e)
{
Slider slider1 = sender as Slider;
tbx1.Text = slider1.Value.ToString();
str = slider1.Value.ToString();
}
答案 1 :(得分:0)
如果你想在tbx1.Text
时改变str,你可以这样做:
你可以在你的班级宣布你的价值
private string _str
然后你必须制作你的代码:(你必须在你的文本框中添加Leave函数)
private void tbx1_Leave(object sender, EventArgs e)
{
_str = tbx1.Text;
}
private void Slider_ValueChanged_1(object sender, RoutedPropertyChangedEventArgs<double> e)
{
Slider slider1 = sender as Slider;
_str = tbx1.Text = slider1.Value.ToString();
}
答案 2 :(得分:0)
您可以将字符串包装在属性中并动态访问它:
string Str
{
get { return tbx1.Text; }
set { tbx1.Text = value; }
}
如果您只需要读取字符串,那么您可以删除setter:
string Str
{
get { return tbx1.Text; }
}
使用属性Str
代替变量str
。这将始终产生实际值(示例):
string result = Str;
<强>更新强>
或者,您可以直接从滑块中获取值。
string Str
{
get { return slider1.Value.ToString(); }
}