在我的代码中,当我点击提交按钮时,我试图从我的选项窗口中的文本框中获取值。我知道我需要将字符串转换为我已经完成的双重字符串,但我的问题是distanceOption只是设置为0.0而不是用户放入文本框的值。我认为我的麻烦可能在于文本框的行数。我的linecount变量一直显示为-1,不确定该值是否为该值。
void Options_Clicked(object sender, RoutedEventArgs e)
{
OptionsWindow optionsWindow = new OptionsWindow();
optionsWindow.Show();
optionsWindow.DistanceButton.Click += new RoutedEventHandler(Distance_Clicked);
}
void Distance_Clicked(object sender, RoutedEventArgs e)
{
OptionsWindow optionsWindow = new OptionsWindow();
int lineCount = optionsWindow.DistanceBox.LineCount;
this.distanceOption = Convert.ToDouble(optionsWindow.DistanceBox.GetLineText(lineCount));
}
如果有更好的方法从文本框中获取值,我也会对此持开放态度。谢谢!
答案 0 :(得分:0)
创建一个合适的ViewModel并使用DataBinding:
XAML:
<TextBox Text="{Binding MyDouble}"/>
视图模型:
public double MyDouble {get;set;} //Probably NotifyPropertyChanged
答案 1 :(得分:0)
这是一个例子
public partial class MainWindow : Window
{
NewWindow optionsWindow = new NewWindow();
public MainWindow()
{
InitializeComponent();
optionsWindow.button1.Click += new RoutedEventHandler(button1_Click);
optionsWindow.Show();
}
void button1_Click(object sender, RoutedEventArgs e)
{
double d = Convert.ToDouble(optionsWindow.textBox1.GetLineText(0));
}
}