非常新的并且学习C#并跟随PluralSight的一些培训视频。伟大的视频,除了你不能提出问题,当然,我不明白为什么我所看到的是他的屏幕显示的不同,即使我输入了他的确切内容。
Textbox被命名为“Output”。最初,这些操作直接在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;
}
}
}
这将在TextBlock中显示“Mike Miller”。
但是,当我们将其移至此时,文本所说的全部是“TextBlock”
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;
}
}
}
我在这里错过了一些简单的东西吗?
谢谢!
答案 0 :(得分:2)
如果从两个字符串中取出.Length,它应该可以工作。您使用&#34; +&#34;将字符串连接起来。而且效果不好。
Output.Text = e1.Name + " " + e2.Name;
答案 1 :(得分:2)
正如Nico Schertler所述,请确认您订阅了Window的Loaded事件:
<Window ... Loaded="MainWindow_Loaded">
...
</Window>
在第一种情况下,您的代码会运行,因为在创建Window时会调用Window的构造函数。在第二种情况下,默认情况下不调用事件处理程序。您应该订阅此活动。
答案 2 :(得分:0)
你的问题非常肯定答案: 首先,如果你期望输出是&#34; Mike Miler&#34;将您的代码更改为Bravan发布的代码。 其次,您需要将Loaded事件添加到XAML中的MainWindow声明中。 除了那里的错误...... !!!
快乐编码...... !! :)