Skip to content

Commit 01ca898

Browse files
authored
Merge pull request #585 from CatfishWen/main
update some zh-CN translation
2 parents 80f3fe9 + 166868c commit 01ca898

File tree

6 files changed

+84
-75
lines changed

6 files changed

+84
-75
lines changed

i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/add-a-control.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import ButtonIntellisenseScreenshot from '/img/get-started/test-drive/button-int
1414
Avalonia包含一个内置控件,用于创建按钮。按照以下步骤,将当前在窗口的内容区域中的文本字符串替换为按钮控件。
1515

1616
- 如果应用程序正在运行,请停止它。
17-
-`MainWindow.axaml` 文件中找到
17+
-`MainView.axaml` 文件中找到
1818
`<TextBlock Text="text" HorizontalAlignment="Center" VerticalAlignment="Center"/>`
1919
- 删除整行。
2020
- 插入一个`Button`标签,如下所示:

i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/code-with-controls.md

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ import Highlight from '@site/src/components/Highlight';
99

1010
## 控件名称
1111

12-
当Avalonia在运行时创建主窗口时,它还会为窗口中定义的每个控件创建对象。您的代码可以在运行时访问这些控件,但是为了访问它们,您需要一些控件名称。
12+
当Avalonia在运行时会为窗口中定义的每个控件创建对象。您的代码可以在运行时访问这些控件,但是为了访问它们,您需要一些控件名称。
1313

14-
要添加一些控件名称,请按照以下步骤进行操作:
14+
要添加控件名称,请按照以下步骤进行操作:
1515

1616
- 如果应用程序正在运行,请停止它。
17-
- 找到摄氏度的`TextBox`
18-
- 添加name属性,如下所示:
17+
- 找到摄氏度的 `TextBox`
18+
- 添加 `Name` 属性,如下所示:
1919

2020
```xml
2121
<TextBox ... Name="celsius"/>
@@ -31,7 +31,7 @@ import Highlight from '@site/src/components/Highlight';
3131

3232
为了演示如何访问`celsius`输入的文本值,请按照以下步骤进行操作:
3333

34-
- 切换到**MainWindow.axaml.cs**代码后台文件。
34+
- 切换到**MainView.axaml.cs**代码后台文件。
3535
- 找到`ButtonClicked`事件处理程序。
3636
- 修改`Debug`语句以显示`celsius`输入的文本属性,如下所示:
3737

@@ -43,7 +43,7 @@ Debug.WriteLine($"Click! Celsius={celsius.Text}");
4343

4444
## 在代码后台设置控件值
4545

46-
为了使用将摄氏温度转换为华氏温度的简单公式,您首先需要确保摄氏度输入文本转换为数字。然后,公式为
46+
为了使用将摄氏温度转换为华氏温度的简单公式,您首先需要确保摄氏度输入文本转换为数字。公式如下
4747

4848
```
4949
Tf = Tc * (9/5) + 32
@@ -52,36 +52,39 @@ Tf = Tc * (9/5) + 32
5252
要添加转换公式,请按照以下步骤进行操作:
5353

5454
- 找到`ButtonClicked`事件处理程序。
55-
- 修改事件处理程序中的代码,以检查摄氏度输入文本是否可以转换为数字
55+
- 检查摄氏度输入文本是否可以转换为数字
5656
- 修改代码以包含转换公式。
5757
- 将华氏度输入的文本更新为转换公式的结果。
5858
- 运行应用程序,检查您的工作。
5959

6060
以下是上述操作的一种实现方式:
6161

6262
```csharp
63-
if (Double.TryParse(celsius.Text, out double C))
63+
public void ButtonClicked(object source, RoutedEventArgs args)
6464
{
65-
var F = C * (9d / 5d) + 32;
66-
fahrenheit.Text = F.ToString("0.0");
67-
}
68-
else
69-
{
70-
celsius.Text = "0";
71-
fahrenheit.Text = "0";
65+
if (Double.TryParse(celsius.Text, out double C))
66+
{
67+
var F = C * (9d / 5d) + 32;
68+
fahrenheit.Text = F.ToString("0.0");
69+
}
70+
else
71+
{
72+
celsius.Text = "0";
73+
fahrenheit.Text = "0";
74+
}
7275
}
7376
```
7477

7578
您可以使用以下转换表来检查您的工作:
7679

7780
| 摄氏度 | 华氏度 |
78-
| ---------- | --------- |
79-
| -10 | 14.0 |
80-
| 0 | 32.0 |
81-
| 10 | 50.0 |
82-
| 21 | 69.8 |
83-
| 25 | 77.0 |
84-
| 32 | 89.6 |
81+
|---------|------------|
82+
| -10 | 14.0 |
83+
| 0 | 32.0 |
84+
| 10 | 50.0 |
85+
| 21 | 69.8 |
86+
| 25 | 77.0 |
87+
| 32 | 89.6 |
8588

8689
### 练习
8790

i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/input-controls.md

Lines changed: 33 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: 输入控件
55

66
import InputControlsScreenshot from '/img/get-started/test-drive/input-controls.png';
77

8-
在这个页面上,您将学习如何在一个整洁的布局中添加一些Avalonia输入控件。目标是在水平行中添加带有其关联标签的数字输入;在下面的行中添加一个输出控件
8+
在这个页面上,您将学习如何添加一些Avalonia输入控件并将其排列整齐。目标是在一行中添加带有标签的数字输入控件,并在其下面一行中添加对应的输出控件
99

1010
为了实现这个布局,您将使用内置的网格控件,并将标签和输入控件放置在其单元格中。
1111

@@ -16,53 +16,62 @@ import InputControlsScreenshot from '/img/get-started/test-drive/input-controls.
1616
要使用网格控件创建布局,请按照以下步骤进行操作:
1717

1818
- 如果应用正在运行,请停止应用。
19-
- 找到XAML中的中间堆栈面板,并删除该标签。
19+
- 在 XAML 中找到 `<Border>``<Button>` 之间的空行
2020
- 插入一个`<Grid>`标签,如下所示:
2121

2222
```xml
23-
<Grid ShowGridLines="True" Margin="5"
24-
ColumnDefinitions="120, 100"
25-
RowDefinitions="Auto, Auto, Auto">
26-
</Grid>
23+
<StackPanel>
24+
<Border Margin="5" CornerRadius="10" Background="LightBlue">
25+
<TextBlock Margin="5"
26+
HorizontalAlignment="Center"
27+
FontSize="24"
28+
Text="Temperature Converter" />
29+
</Border>
30+
// highlight-start
31+
<Grid ShowGridLines="True" Margin="5"
32+
ColumnDefinitions="120, 100"
33+
RowDefinitions="Auto, Auto, Auto">
34+
</Grid>
35+
// highlight-end
36+
<Button HorizontalAlignment="Center">Calculate</Button>
37+
</StackPanel>
2738
```
2839

29-
这将为网格设置列和行的大小(并使网格线可见 - 尽管现在它只会显示为一条直线,因为网格仍然是空的)。
30-
31-
现在在网格的单元格中添加标签和输入控件:
40+
该标签可以用于指定网格的行和列,设置其的大小,并控制网格线是否可见。目前它只会显示为一条直线,因为网格内部是空的。`Auto` 表明行的大小与其内容相同,并且在添加内容之前高度为零。
3241

33-
- 添加`<Label>``<TextBox>`(文本输入)控件,如下所示:
42+
- `Grid` 中添加 `<Label>``<TextBox>`(文本输入)控件,如下所示:
3443

3544
```xml
3645
<Grid ShowGridLines="True" Margin="5"
3746
ColumnDefinitions="120, 100"
3847
RowDefinitions="Auto, Auto, Auto">
39-
<Label Grid.Row="0" Grid.Column="0">Celsius</Label>
40-
<TextBox Grid.Row="0" Grid.Column="1"/>
41-
<Label Grid.Row="1" Grid.Column="0">Fahrenheit</Label>
42-
<TextBox Grid.Row="1" Grid.Column="1"/>
48+
// highlight-start
49+
<Label Grid.Row="0" Grid.Column="0">Celsius</Label>
50+
<TextBox Grid.Row="0" Grid.Column="1"/>
51+
<Label Grid.Row="1" Grid.Column="0">Fahrenheit</Label>
52+
<TextBox Grid.Row="1" Grid.Column="1"/>
53+
// highlight-end
4354
</Grid>
4455
```
4556

46-
最后,您可以使用它们的margin属性来整理网格中控件的对齐方式。还可以将按钮移动到网格中,如下所示:
47-
48-
- 修改XAML如下所示:
57+
最后,您可以使用它们的 `Margin` 属性来整理网格中控件的对齐方式。还可以将按钮移动到网格中,如下所示:
4958

5059
```xml
5160
<Grid ShowGridLines="True" Margin="5"
5261
ColumnDefinitions="120, 100"
5362
RowDefinitions="Auto, Auto, Auto">
54-
<Label Grid.Row="0" Grid.Column="0" Margin="10">Celsius</Label>
55-
<TextBox Grid.Row="0" Grid.Column="1" Margin="0 5" Text="0"/>
56-
<Label Grid.Row="1" Grid.Column="0" Margin="10">Fahrenheit</Label>
57-
<TextBox Grid.Row="1" Grid.Column="1" Margin="0 5" Text="0"/>
58-
<Button Grid.Row="2" Grid.Column="1" Margin="0 5">Calculate</Button>
63+
// highlight-start
64+
<Label Grid.Row="0" Grid.Column="0" Margin="10">Celsius</Label>
65+
<TextBox Grid.Row="0" Grid.Column="1" Margin="0 5" Text="0"/>
66+
<Label Grid.Row="1" Grid.Column="0" Margin="10">Fahrenheit</Label>
67+
<TextBox Grid.Row="1" Grid.Column="1" Margin="0 5" Text="0"/>
68+
<Button Grid.Row="2" Grid.Column="1" Margin="0 5">Calculate</Button>
69+
// highlight-end
5970
</Grid>
6071
```
6172

6273
- 运行应用以查看结果
6374

64-
65-
6675
:::info
6776
有关Avalonia内置控件的完整信息以及它们的属性,请参阅参考部分[这里](../../reference/controls/)
6877
:::

i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/main-window.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,21 @@ import VsPreviewPaneScreenshot from '/img/get-started/test-drive/vs-preview-pane
1717

1818
## 发生了什么?
1919

20-
**MainWindow.axaml** XAML 文件中,`<Window>...</Window>` XAML 标记表示 Avalonia 窗口。与其他 Avalonia 控件一样,窗口将在目标平台上绘制,具有 4 个**布局区域**:边距、边框、内边距和内容。
20+
**MainWindow.axaml** XAML 文件中,`<Window>...</Window>` XAML 标记表示 Avalonia 窗口。与其他 Avalonia 控件一样,窗口将在目标平台上绘制,并具有 4 个**布局区域**:边距、边框、内边距和内容。
2121

2222
<img src={LayoutZonesDiagram} alt="" />
2323

24+
在当前的应用程序中,`Window` 的内容区域中引用了另一个视图 **`<views:MainView />`**。这是对 **MainView.axaml** 文件的引用,该文件是一个 `UserControl`,将显示在 `Window` 的内容区域中。
2425

26+
## MainView 用户控件
2527

26-
## MainWindow 用户控件
28+
在这个用户控件中,您将看到一个 `<TextBlock>...</TextBlock>` XAML 标记。这代表一个文本块控件。文本块的 `Text` 属性绑定到 **MainViewModel** 类中的 **Greeting** 属性。
2729

28-
在这个**MainWindow.axaml**文件当中,您将看到一个 `<TextBlock>...</TextBlock>` XAML 标记。这代表一个文本块控件。文本块的 `Text` 属性绑定到 **MainWindowViewModel** 类的 **Greeting** 属性。这是在视图模型类的构造函数中设置的属性。
2930
```
3031
<TextBlock Text="{Binding Greeting}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
3132
```
3233

33-
您可以更改文件 **MainWindowViewModel.cs** 中的文本,以查看界面上的更改。
34+
您可以更改文件 **MainViewModel.cs** 中的文本,以查看界面上的更改。
3435

3536
<img className="center" src={ViewModelScreenshot} alt="" />
3637
<img className="center" src={AppRunningScreenshot} alt="" />
@@ -42,7 +43,7 @@ import VsPreviewPaneScreenshot from '/img/get-started/test-drive/vs-preview-pane
4243
## Visual Studio 设计器
4344

4445
如果您使用的是 Visual Studio,则应该看到 XAML 代码和预览窗格。
45-
切换到 **MainWindow.axaml** 文件,并单击编辑窗口顶部的 **Split View** 按钮。
46+
切换到 **MainView.axaml** 文件,并单击编辑窗口顶部的 **Split View** 按钮。
4647

4748
<img className="center" src={VsPreviewerScreenshot} alt="" />
4849

@@ -55,7 +56,7 @@ import VsPreviewPaneScreenshot from '/img/get-started/test-drive/vs-preview-pane
5556

5657
<img className="center" src={VsPreviewPaneScreenshot} alt="" />
5758

58-
- 删除绑定 `{Binding Greeting}` 并更改文本 `<TextBlock Text="my text" ...`
59+
- 删除绑定 `{Binding Greeting}` 并更改文本 `<TextBlock Text="my text" />`
5960

6061
您会看到在输入时预览窗格中的新文本也会更改。这是 Avalonia 的**设计时预览行为**的一个示例,它将帮助您准确快速地开发用户界面呈现。
6162

i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/response-to-an-event.md

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,47 +8,44 @@ import EventDebugOutputScreenshot from '/img/get-started/test-drive/event-debug-
88

99
在Avalonia应用程序中,您可以使用多种方式实现操作。在本页面中,您将了解如何使用最简单的方法之一:如何编写按钮点击的事件处理代码。
1010

11-
首先,您将编写一个按钮点击事件处理程序,该处理程序不与任何其他控件交互
11+
首先,您将编写一个不与任何其他控件交互的按钮单击事件处理程序
1212

1313
## Code-behind
1414

15-
主窗口的XAML文件与一个关联的C#代码后台文件。如果您使用的是一个IDE,您可以在**Solution Explorer**中找到这个文件 - 它是`.axaml`文件的子项。
15+
主窗口的XAML文件可以拥有一个关联的C#代码后台文件,用于访问命名控件并处理其的事件。如果您使用的是IDE,您可以在**Solution Explorer**中找到这个文件它是`.axaml`文件的子项。
1616

1717
<img className="center" src={SolutionCodeBehindScreenshot} alt="" />
1818

19-
要更改主窗口的代码后台
19+
修改 `MainView` 的代码后台
2020

21-
- 打开`MainWindow.axaml.cs`文件
21+
- 打开`MainView.axaml.cs`文件
2222

2323
您将看到一些类似于以下代码的C#代码:
2424

2525
```csharp
2626
using Avalonia.Controls;
2727

28-
namespace GetStartedApp
28+
namespace GetStartedApp.Views;
29+
public partial class MainView : UserControl
2930
{
30-
public partial class MainWindow : Window
31+
public MainView()
3132
{
32-
public MainWindow()
33-
{
34-
InitializeComponent();
35-
}
33+
InitializeComponent();
3634
}
3735
}
3836
```
3937

40-
部分类`MainWindow`对应于由Avalonia UI根据您已有的XAML创建的窗口对象。您可以在XAML窗口标记中找到此类名称
38+
分部类 `MainView` 对应于由 Avalonia 根据您已有的 XAML 创建的用户控件。分部类的命名空间必须XAML与保持一致,您可以在XAML标记中找到该类名
4139

4240
```xml
43-
<Window
44-
...
45-
x:Class="GetStartedApp.MainWindow" >
46-
</Window>
41+
<UserControl x:Class="GetStartedApp.Views.MainView"
42+
...>
43+
</UserControl>
4744
```
4845

4946
要为按钮添加事件处理程序,请按照以下步骤进行操作:
5047

51-
- 在代码后台文件中找到主窗口的`MainWindow`构造函数(参见上述说明)。
48+
- 在代码后台文件中找到主窗口的`MainView`构造函数(参见上述说明)。
5249
- 在构造函数之后添加以下代码:
5350

5451
```csharp
@@ -66,12 +63,11 @@ using System.Diagnostics;
6663
```
6764

6865
- 切换到XAML文件,找到`<Button>`标记。
69-
- 在标记的末尾输入click属性,如下所示:
66+
- 在标记的末尾添加 `Click` 属性,如下所示:
7067

7168
```xml
72-
<Button
73-
...
74-
Click="ButtonClicked">
69+
<Button Grid.Row="2" Grid.Column="1" Margin="0,5" Click="ButtonClicked">
70+
Calculate
7571
</Button>
7672
```
7773

i18n/zh-Hans/docusaurus-plugin-content-docs/current/get-started/test-drive/the-design-preview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: 设计预览
55

66
import TemperatureDesignPreviewScreenshot from '/img/get-started/test-drive/temperature-design-preview.png';
77

8-
在这个页面上,您将探索窗口的属性然后使用其中一些属性来调整窗口在预览窗格中显示时的大小。
8+
在这个页面上,您将探索窗口的属性然后使用其中一些属性来调整窗口在预览窗格中显示时的大小。
99

1010
检查`<Window>`标签的XAML。它看起来像这样:
1111

@@ -19,7 +19,7 @@ import TemperatureDesignPreviewScreenshot from '/img/get-started/test-drive/temp
1919
Title="GetStartedApp">
2020
```
2121

22-
窗口标签首先定义了Avalonia使用的一些XML命名空间。使用了别名'x'、'd'和'mc'。
22+
窗口标签首先定义了Avalonia使用的一些XML命名空间。并为其指定了别名'x'、'd'和'mc'。
2323

2424
设计命名空间'd'允许设置设计时属性`d:DesignWidth``d:DesignHeight`。在上面的代码示例中的设置,可以使预览窗格看起来更像是纵向的移动设备。
2525

0 commit comments

Comments
 (0)