Skip to content

Commit d073f2d

Browse files
Add zh version of exercises
Created zh translation of exercises tutorial page.
1 parent 9a5a933 commit d073f2d

File tree

2 files changed

+117
-1
lines changed
  • docs/get-started/starter-tutorial
  • i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/starter-tutorial

2 files changed

+117
-1
lines changed

docs/get-started/starter-tutorial/exercises.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,14 @@ Make **GetStartedApp** calculate the temperature conversion as the user types.
9292
```xml
9393
<TextBox Grid.Row="0" Grid.Column="1" Margin="0 5" Text="0" TextChanged="Celsius_TextChanged" Name="Celsius"/>
9494
```
95+
9596
2. In **MainWindow.axaml**, delete the entire line starting `<Button>`. It is no longer needed.
9697

9798
~~`<Button HorizontalAlignment="Center" Click="Button_OnClick">Calculate</Button>`~~
9899

99100
3. In **MainWindow.axaml.cs**, locate the event handler line starting `private void`. Change the event name from `Button_OnClick` to whatever you named it in the XAML file, e.g. `Celsius_TextChanged`.
100101

101-
```xml
102+
```csharp
102103
private void Celsius_TextChanged(object? sender, RoutedEventArgs e)
103104
```
104105

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
---
2+
id: exercises
3+
title: 练习
4+
description: 通过三个编码练习测试您对 Avalonia 的了解。Avalonia 入门教程的第 7 部分(共 7 部分)。
5+
---
6+
7+
# 入门练习
8+
9+
您已经构建了一个温度转换器应用程序,现在请尝试这三个练习,测试您对 Avalonia 的理解。
10+
11+
## 练习 1:更改现有属性
12+
13+
**挑战等级:★**
14+
15+
**GetStartedApp** 中的网格线不可见。
16+
17+
<details>
18+
<summary>提示</summary>
19+
20+
您在 MainWindow.axaml 中指定了 `<Grid>`
21+
</details>
22+
23+
<details>
24+
<summary>答案</summary>
25+
26+
**MainWindow.axaml** 中,找 `<Grid>` 开始标签。将 `ShowGridLines` 属性更改为 `False`
27+
28+
```xml
29+
<Grid ShowGridLines="False" Margin="5"
30+
ColumnDefinitions="120, 100"
31+
RowDefinitions="Auto, Auto, Auto">
32+
```
33+
</details>
34+
35+
## 练习 2:添加新属性
36+
37+
**挑战等级:★★**
38+
39+
令用户无法在 **GetStartedApp** 的华氏度文本框中输入文本。
40+
41+
<details>
42+
<summary>提示(第 1 个)</summary>
43+
44+
查看 [API 文档](https://api-docs.avaloniaui.net/)以获取有关 `TextBox` 控件的更多信息。
45+
</details>
46+
47+
<details>
48+
<summary>提示(第 2 个)</summary>
49+
50+
[`TextBox` 的 API 参考](https://api-docs.avaloniaui.net/docs/T_Avalonia_Controls_TextBox),您会找到属性 `IsReadOnly`
51+
</details>
52+
53+
<details>
54+
<summary>答案</summary>
55+
56+
**MainWindow.axaml** 中,找华氏度框的 `<TextBox>` 标签。添加 `IsReadOnly` 属性,并将其设置为 `True`
57+
58+
```xml
59+
<TextBox Grid.Row="1" Grid.Column="1" Margin="0 5" Text="0" Name="Fahrenheit" IsReadOnly="True"/>
60+
```
61+
</details>
62+
63+
## 练习 3:编程新的事件响应
64+
65+
**挑战等级:★★★**
66+
67+
**GetStartedApp** 在用户输入时计算温度转换。
68+
69+
<details>
70+
<summary>提示(第 1 个)</summary>
71+
72+
查看 [API 文档](https://api-docs.avaloniaui.net/)以获取有关 `TextBox` 控件的更多信息。
73+
</details>
74+
75+
<details>
76+
<summary>提示(第 2 个)</summary>
77+
78+
[`TextBox` 的 API 参考](https://api-docs.avaloniaui.net/docs/T_Avalonia_Controls_TextBox),您会找到事件 `TextChanged`
79+
</details>
80+
81+
<details>
82+
<summary>提示(第 3 个)</summary>
83+
84+
您的事件处理程序在 C# 后置代码 MainWindow.axaml.cs 中定义。它也被 XAML 文件 MainWindow.axaml 引用。
85+
</details>
86+
87+
<details>
88+
<summary>答案</summary>
89+
90+
1.**MainWindow.axaml** 中,找摄氏度框的 `<TextBox>` 标签。添加 `TextChanged` 事件,并为事件命名,例如 `Celsius_TextChanged`
91+
92+
```xml
93+
<TextBox Grid.Row="0" Grid.Column="1" Margin="0 5" Text="0" TextChanged="Celsius_TextChanged" Name="Celsius"/>
94+
```
95+
96+
2.**MainWindow.axaml** 中,删除以 `<Button>` 开头的整行。它不再需要了。
97+
98+
~~`<Button HorizontalAlignment="Center" Click="Button_OnClick">Calculate</Button>`~~
99+
100+
3.**MainWindow.axaml.cs** 中,找到以 `private void` 开头的事件处理程序行。将事件名称从 `Button_OnClick` 更改为您在 XAML 文件中命名的名称,例如 `Celsius_TextChanged`
101+
102+
```csharp
103+
private void Celsius_TextChanged(object? sender, RoutedEventArgs e)
104+
```
105+
106+
4. 运行应用程序,确认当您在摄氏度框中输入时,华氏度框中的值会自动变化。
107+
</details>
108+
109+
恭喜!您已完成 Avalonia 的入门教程!
110+
111+
## 延伸阅读
112+
113+
[控件参考](/docs/reference/controls)
114+
115+
[API 文档](https://api-docs.avaloniaui.net/)

0 commit comments

Comments
 (0)