C# 需要帮助wpf应用程序需要5个框的总和

C# 需要帮助wpf应用程序需要5个框的总和,c#,wpf,C#,Wpf,大家好,我是wpf的新手,我需要一些帮助。我一直在尝试互联网,但运气不好,所以我想我会在这里问你们,因为你们在这里帮助了很多人 我的项目是做一个程序,可以找到5个不同的盒子的总和,但问题是我不知道如何使用数学函数,让它明白它需要求和的盒子希望你明白我的意思 private void TextBox_TextChanged(object sender, TextChangedEventArgs e) { double output1 = double.Parse(T

大家好,我是wpf的新手,我需要一些帮助。我一直在尝试互联网,但运气不好,所以我想我会在这里问你们,因为你们在这里帮助了很多人

我的项目是做一个程序,可以找到5个不同的盒子的总和,但问题是我不知道如何使用数学函数,让它明白它需要求和的盒子希望你明白我的意思

    private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
    {
        double output1 = double.Parse(Txtbox1.Text) + double.Parse(Txtbox2.Text);


        Result.Text = output1.ToString();



    }
xaml


您的一般方法很好,但需要正确触发计算

您当前正在处理结果的
TextChanged
事件,但您确实需要在输入上触发

您可以通过以下几种方式完成此操作:

  • 将事件处理程序移动到输入框,或
  • 在输入框上使用
    命令
    ,或
  • 将输入绑定到视图模型的属性,并让其设置器更新输出(为此,需要使用
    INotifyPropertyChanged

  • 如果这些都没有意义,那么你只需要花些时间学习更多的WPF。

    那么你的问题是什么?如果要将两个文本框相加,只需将其扩展为包含其他两个文本框。当然,这远不是最可靠的方法。最好是有一个绑定到您的视图的模型,该模型会随着组件的变化而更新总数。问题是它应该汇总,但在我运行程序时实际上什么都没有发生。。。是的,它是这样的,我正在寻找一些能使其不断更新的东西。你已经钩住了
    Result
    TextChange
    事件,而不是
    Txtbox1
    Txtbox2
    Txtbox3
    Txtbox4
    。只有当它们发生变化时,您才需要更新总数。当结果发生变化时(无论如何都应该设置为只读)不会停止您所做的一切。在尝试在WPF中执行任何操作之前,先搜索WPF MVVM并学习MVVM。你现在的方法正在走下坡路,很快就会变得非常痛苦。试着学习WPF绑定。WPF有自己的方法来做这些事情。在玩了绑定之后,你会很容易地做这些事情。检查这个
        <Grid HorizontalAlignment="Left" Height="323" VerticalAlignment="Top" Width="517">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="102*"/>
                <ColumnDefinition Width="127*"/>
                <ColumnDefinition Width="147*"/>
                <ColumnDefinition Width="141*"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="32*"/>
                <RowDefinition Height="43*"/>
                <RowDefinition Height="38*"/>
                <RowDefinition Height="35*"/>
                <RowDefinition Height="40*"/>
                <RowDefinition Height="33*"/>
                <RowDefinition Height="35*"/>
                <RowDefinition Height="35*"/>
                <RowDefinition Height="32*"/>
            </Grid.RowDefinitions>
            <TextBox Name="Txtbox1" Grid.Column="3" HorizontalAlignment="Left" Height="32" TextWrapping="Wrap" Text="1" VerticalAlignment="Top" Width="131"/>
            <TextBox Name="Txtbox2" Grid.Column="3" HorizontalAlignment="Left" Height="43" Grid.Row="1" TextWrapping="Wrap" Text="2" VerticalAlignment="Top" Width="131"/>
            <TextBox Name="Txtbox3" Grid.Column="3" HorizontalAlignment="Left" Height="38" Grid.Row="2" TextWrapping="Wrap" Text="3" VerticalAlignment="Top" Width="141"/>
            <TextBox Name="Txtbox4" Grid.Column="3" HorizontalAlignment="Left" Height="33" Margin="0,2,0,0" Grid.Row="3" TextWrapping="Wrap" Text="4" VerticalAlignment="Top" Width="141"/>
            <TextBox Name="Result" Grid.Column="3" HorizontalAlignment="Left" Height="33" Margin="0,2,0,0" Grid.Row="7" TextWrapping="Wrap"  VerticalAlignment="Top" Width="141" TextChanged="TextBox_TextChanged"/>