这个元素实例化方法叫做什么?

Dav*_*ave 2 wpf element creation object instantiation

每当我在后面的代码中创建一个UIElement时,我会做这样的事情:

Button button = new Button();
button.Content = "Click Me!";
Run Code Online (Sandbox Code Playgroud)

但后来我在某处看到了这种语法,想知道它叫什么.我从来没有在任何.NET书籍中看到过它:

Button button = new Button { Content="Click Me!" };
Run Code Online (Sandbox Code Playgroud)

这显然很好,因为它简洁.所以我想我的问题是:

  1. 它叫什么?
  2. 以这种方式实例化UIElement有什么缺点吗?

我也很难找到设置CornerRadius和StrokeThickness等属性的正确方法,并认为#1的答案可能会帮助我进行更智能的搜索查询.

Mar*_*ell 5

1:"对象初始化器"

2:不; 它对代码样本非常方便,特别是; -p

你不能在对象初始化器中做的事情:

  • 订阅活动
  • 在同一个集合实例上与集合初始值设定项结合使用(初始值设定项对象初始值设定项(设置属性)集合初始值设定项(添加项))

您可以通过作弊来克服这些限制:

Button btn;
Form form = new Form { Text = "Hi", Controls = { (btn = new Button()) }};
btn.Click += delegate { ... };
Run Code Online (Sandbox Code Playgroud)