为什么此文本块仅显示“文本块”作为其文本

本文关键字:文本 文本块 显示 为什么 | 更新日期: 2023-09-27 18:31:51

真的很新,正在学习C#,并按照PluralSight的一些培训视频进行操作。很棒的视频,当然,除了你不能问问题,我不明白为什么我看到的与他的屏幕显示的不同,即使我输入了他所拥有的内容。

文本框名为"输出"。最初,这些操作直接在 MainWindow 构造函数中(他解释说这不是好的做法,所以我们移动了它。最初,这应该工作:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfApplication1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            Employee e1 = new Employee();
            e1.Name = "Mike";
            Employee e2 = new Employee();
            e2.Name = "Miller";
            Output.Text = e1.Name + " " + e2.Name;

        }
    }
}

这将在文本块中显示"Mike Miller"。

但是,当我们将其移至此处时,它对文本所说的只是"文本块"

namespace WpfApplication1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            Employee e1 = new Employee();
            e1.Name = "Mike";
            Employee e2 = new Employee();
            e2.Name = "Miller";
            Output.Text = e1.Name.Length + " " + e2.Name.Length;
        }
    }
}

我在这里错过了一些简单的东西吗?

谢谢!

为什么此文本块仅显示“文本块”作为其文本

正如 Nico Schertler 所说,验证您是否订阅了 Window 的 Loaded 事件:

<Window ... Loaded="MainWindow_Loaded">
    ...
</Window>

在第一种情况下,代码会运行,因为在创建 Window 时会调用 Window 的构造函数。在第二种情况下,默认情况下不调用事件处理程序。您应该订阅此活动。

如果你拿 .长度掉两根绳子,它应该可以工作。 您使用"+"将整数与字符串连接起来,但这效果不佳。

Output.Text = e1.Name + " " + e2.Name; 

从你的问题中可以非常肯定地回答:首先,如果您希望输出为"Mike Miler",请将您的代码更改为Bravan发布的代码。其次,您需要将 Loaded 事件添加到 XAML 中的 MainWindow 声明中。除此之外,那里没有任何问题!!

快乐编码...!! :)