没有我知道的这样的教程,部分原因是如果你已经为控件提供了XAML定义,这是非常简单的.
XAML代码和相应的C#代码之间的对应关系很简单.
例:
<Button Height="80" Width="150">Test</Button>
Run Code Online (Sandbox Code Playgroud)
进入;陷入;习惯于
Button button = new Button() { Height = 80, Width = 150, Content = "Test" };
parentControl.Add(button);
Run Code Online (Sandbox Code Playgroud)
你应该知道的事情:
Content(如在Button案例中),也可以是一组子项(如果情况下Grid).在XAML中,有时会隐式应用特殊值转换器; 在C#代码中,你必须自己做.例:
<Button Margin="1, 2"/>
Run Code Online (Sandbox Code Playgroud)
变成
Button button = new Button() { Margin = new Thickness(1, 2, 1, 2) };
Run Code Online (Sandbox Code Playgroud)每个UI元素只能有一个父元素.也就是说,您不能将同一元素作为子项添加到两个不同的父级.
绑定以一种非常特殊的方式定义:
<Label MaxWidth={Binding ActualWidth, Source={Binding ElementName=Container}}>
Run Code Online (Sandbox Code Playgroud)
进入;陷入;习惯于
Label label = new Label();
label.SetBinding(
Label.MaxWidthProperty,
new Binding("ActualWidth") { Source = Container }
);
Run Code Online (Sandbox Code Playgroud)
(最好Container通过实际参考而不是名称来引用).
附加属性的语法也不简单:
<Label Grid.Column="1"/>
Run Code Online (Sandbox Code Playgroud)
变成
Label label = new Label();
Grid.SetColumn(label, 1);
Run Code Online (Sandbox Code Playgroud)请注意,对于每个构造/属性,您可以在MSDN中查找在XAML和C#中表达它的确切方式,通常直接在描述您正在寻找的概念的文章中.
| 归档时间: |
|
| 查看次数: |
1335 次 |
| 最近记录: |