Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 标签未更新,因为我正在更改值_C#_.net_Wpf_Wpf Controls - Fatal编程技术网

C# 标签未更新,因为我正在更改值

C# 标签未更新,因为我正在更改值,c#,.net,wpf,wpf-controls,C#,.net,Wpf,Wpf Controls,我正在写一个小程序来管理商店和价格的基础上的项目数量。在desire功能中,我希望所有项目的总成本显示在标签中。当我更改“数量”文本框中的值时,此标签将更新。 到目前为止,我已经完成了这段代码的编写,它工作得很好,甚至变量中的值也与我想要的完全相同,但问题是,即使数量文本框中有空值,标签也不会更新。它会一直显示以前的总数,直到我更改了值,而且它似乎被上次更新的总数卡住了 namespace wpfTest { public partial class MainWindow : Wind

我正在写一个小程序来管理商店和价格的基础上的项目数量。在desire功能中,我希望所有项目的总成本显示在标签中。当我更改“数量”文本框中的值时,此标签将更新。 到目前为止,我已经完成了这段代码的编写,它工作得很好,甚至变量中的值也与我想要的完全相同,但问题是,即使数量文本框中有空值,标签也不会更新。它会一直显示以前的总数,直到我更改了值,而且它似乎被上次更新的总数卡住了

namespace wpfTest
{

    public partial class MainWindow : Window
    {
        List<int> myList = new List<int>();
        int val1, val2;
        int total;

        public MainWindow()
        {
            InitializeComponent();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            qtyTxt1.IsEnabled = false;
            priceTxt1.IsEnabled = false;

            qtyTxt2.IsEnabled = false;
            priceTxt2.IsEnabled = false;
        }

        private void chk1_Click(object sender, RoutedEventArgs e)
        {
            if (chk1.IsChecked == true)
            {
                qtyTxt1.IsEnabled = true;
                priceTxt1.IsEnabled = true;
            }
            else
            {
                qtyTxt1.IsEnabled = false;
                priceTxt1.IsEnabled = false;

                qtyTxt1.Clear();
                priceTxt1.Text = "@50";
            }
        }

        private void chk2_Click(object sender, RoutedEventArgs e)
        {
            if (chk2.IsChecked == true)
            {
                qtyTxt2.IsEnabled = true;
                priceTxt2.IsEnabled = true;
            }
            else
            {
                qtyTxt2.IsEnabled = false;
                priceTxt2.IsEnabled = false;

                qtyTxt2.Clear();
                priceTxt2.Text = "@100";
            }
        }

        private void qtyTxt1_TextChanged(object sender, TextChangedEventArgs e)
        {
            if (qtyTxt1.Text=="")
            {
                priceTxt1.Text = "@50";
                val1 = 0;
            }
            if (qtyTxt1.Text.Length > 0)
            {
                priceTxt1.Text = (Convert.ToInt32(qtyTxt1.Text) * 50).ToString();
                val1 = Convert.ToInt32(priceTxt1.Text);
                updateTotal();
            }
        }

        private void qtyTxt2_TextChanged(object sender, TextChangedEventArgs e)
        {
            if (qtyTxt2.Text.Length == 0)
            {
                priceTxt2.Text = "@100";
                val2 = 0;
            }
            if (qtyTxt2.Text.Length > 0)
            {
                priceTxt2.Text = (Convert.ToInt32(qtyTxt2.Text) * 100).ToString();
                val2 = Convert.ToInt32(priceTxt2.Text);
                updateTotal();
            }
        }

        private void updateTotal()
        {

            lblTotal.Content = "";
            lblTotal.Content = (val1 + val2).ToString();

        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("Total : " + total + "\n" + "Val1 : " + val1 + "\n" + "Val2 : " + val2);
        }

    }
}
名称空间wpfTest
{
公共部分类主窗口:窗口
{
List myList=新列表();
int val1,val2;
整数合计;
公共主窗口()
{
初始化组件();
}
已加载私有无效窗口(对象发送器、路由目标)
{
qtyTxt1.IsEnabled=false;
priceTxt1.IsEnabled=false;
qtyTxt2.IsEnabled=false;
priceTxt2.IsEnabled=false;
}
私有无效chk1_单击(对象发送方,路由目标e)
{
如果(chk1.IsChecked==true)
{
qtyTxt1.IsEnabled=true;
priceTxt1.IsEnabled=true;
}
其他的
{
qtyTxt1.IsEnabled=false;
priceTxt1.IsEnabled=false;
qtyTxt1.Clear();
priceTxt1.Text=“@50”;
}
}
私有无效chk2_单击(对象发送方,路由目标e)
{
if(chk2.IsChecked==true)
{
qtyTxt2.IsEnabled=true;
priceTxt2.IsEnabled=true;
}
其他的
{
qtyTxt2.IsEnabled=false;
priceTxt2.IsEnabled=false;
qtyTxt2.Clear();
priceTxt2.Text=“@100”;
}
}
私有void qtyTxt1_TextChanged(对象发送方,textchangedventargs e)
{
如果(qtyTxt1.Text==“”)
{
priceTxt1.Text=“@50”;
val1=0;
}
如果(qtyTxt1.Text.Length>0)
{
priceTxt1.Text=(Convert.ToInt32(qtyTxt1.Text)*50.ToString();
val1=Convert.ToInt32(priceTxt1.Text);
updateTotal();
}
}
私有void qtyTxt2_TextChanged(对象发送方,textchangedventargs e)
{
if(qtyTxt2.Text.Length==0)
{
priceTxt2.Text=“@100”;
val2=0;
}
如果(qtyTxt2.Text.Length>0)
{
priceTxt2.Text=(Convert.ToInt32(qtyTxt2.Text)*100.ToString();
val2=Convert.ToInt32(priceTxt2.Text);
updateTotal();
}
}
私有void updateTotal()
{
lblTotal.Content=“”;
lblTotal.Content=(val1+val2.ToString();
}
私有无效按钮\u单击(对象发送者,路由目标e)
{
MessageBox.Show(“总计:“+Total+”\n“+”Val1:“+Val1+”\n“+”Val2:“+Val2”);
}
}
}
我还上传了我的Microsoft OneDrive帐户的屏幕截图,因为我在这里上传照片有限制:


第一个明显的问题是,您试图通过一个“内容”属性来更改UILabel文本,除非您自己定义它,否则该属性不存在。您应该使用“text”属性。请参阅Apple文档:


指定给标签属性文本

试试这个

 lblTotal.Text = "";
 lblTotal.Text  = (val1 + val2).ToString();

哪个文本框显示总计?为什么会有“@”?尽量使你的代码简单,把注意力集中在你的问题上。此外,您可以尝试在CSDN中询问。先生,总计出现在标签上,而不是文本框上。和@代表时间的价格@50意味着每1个数量的价格是50。先生,我使用WPF设计程序,这里标签类不提供文本属性,但这里我们有内容属性用于相同的目的。其次,根据您的建议,我还尝试使用另一个文本框来显示GrandTotal值,而不是标签,但它有相同的问题。先生,我是在WPF中设计的,这里我没有标签的“文本”属性。根据您的建议,我还尝试使用另一个文本框来显示GrandTotal值(通过文本属性)而不是标签,但它也有同样的问题。