基本C#WPF程序 - 将字符串转换为double,然后在Textblock

时间:2016-09-16 20:12:07

标签: c# wpf string double

晚上好,

我刚开始大学二年级,我第一次学习C#。我以前有过Java和Javascript的编码经验,但从来没有c#。

我遇到基本信用/借记计划的问题。请参阅以下代码:

private double balance = 0;
private string creditamount;
private string debitamount;
private double currentamount = 0;

private void CreditButton_Click(object sender, RoutedEventArgs e)
{
   AmountField.Text = creditamount;
   Convert.ToDouble(creditamount);
   CurrentBalance.Text = "Your current balance is £" + (creditamount + balance);
}

private void DebitButton_Click(object sender, RoutedEventArgs e)
{
   AmountField.Text = debitamount;
   double.Parse(debitamount);
   CurrentBalance.Text = "Your current balance is £" + (debitamount - balance);
}

用户应在AmountField中输入金额,然后按Credit或Debit按钮。单击任一按钮后,金额应从字符串转换为double,然后显示在CurrrentBalance .Text中

它表示我的琴弦没有被转换为双打。

我尝试过使用Convert.ToDouble();和double.Parse();但Visual Studio一直给我错误。

有人有任何建议吗?

2 个答案:

答案 0 :(得分:0)

=作业从右到左。此外,所有Convert.ToStuff 返回结果,因此您应该期待它(将其分配给某个变量)。

因此,您的事件处理程序(以及您将来的所有例行程序)应该与此类似:

private void DebitButton_Click(object sender, RoutedEventArgs e)
{
   debitamount= AmountField.Text ; // Take the Right and assign it to the Left
   currentamount = Convert.ToDouble(debitamount); // convert + assign
   CurrentBalance.Text = "Your current balance is £" + (debitamount - balance); // Again take the Right and assign it to the Left
}

答案 1 :(得分:0)

首先,如果您使用的是wpf,请尽量避免使用此代码。其次尝试利用MVVM。什么是MVVM。浏览此链接。

http://www.codeproject.com/Articles/165368/WPF-MVVM-Quick-Start-Tutorial

所以简而言之,我建议创建一个Viewmodel类并使其实现INotifyPropertyChanged。创建您的信用卡和借记金额属性将其绑定在UI中,并且不要忘记在这些属性上使用OnPropertyChanged。因此,当用户在UI中输入任何文本时,即当UI状态发生变化时,您的变量设置块将被调用,您可以继续进行。同样在mvvm中,您使用的命令不是按钮点击。还要将xaml的数据上下文设置为此视图模型。