Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zh-CN Translation: Translate all content listed under the reference section (参考资料) #546

Merged
merged 28 commits into from
Oct 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
8bf10fb
fix index.md
jindongjie Sep 6, 2024
4cadbc4
Merge branch 'main' of github.com:LoongArum/avalonia-docs
jindongjie Sep 18, 2024
b363ab1
fix pinchgesturerecognizer.md
jindongjie Sep 18, 2024
41bab2f
improve the remaing file under gestrues folder
jindongjie Sep 18, 2024
18f148e
fix type error for style-selector-syntax.md
jindongjie Sep 18, 2024
1451bd8
Remove unused controls reference file
jindongjie Sep 18, 2024
d7f679e
add index.md for controls reference collection
jindongjie Sep 18, 2024
cad3da3
Merge branch 'AvaloniaUI:main' into main
jindongjie Sep 20, 2024
2784ac4
add & trans border.md
jindongjie Sep 20, 2024
5f34602
fix not updated translations related to the button control
jindongjie Sep 20, 2024
849c7ae
move & trans calender control
jindongjie Sep 20, 2024
068093b
add & translate data-grid-tempalte-columns.md
jindongjie Sep 20, 2024
48e524a
trans drowing-image.md
jindongjie Sep 20, 2024
bbcd9de
add & trans sharedsizegroup.md
jindongjie Sep 20, 2024
d58c01f
move & trans path-icon.md
jindongjie Sep 20, 2024
ee3feb4
move & trans label.md
jindongjie Sep 20, 2024
3e51a7a
fix makedtextbox.md & layout-controls.md
jindongjie Sep 20, 2024
c09828a
add & trans menu-flyout.md
jindongjie Sep 20, 2024
dfbff62
add & trans selectable-textblock.md
jindongjie Sep 20, 2024
f76035a
add & trans tabcontrol, tabstrip
jindongjie Sep 20, 2024
9dc47de
trans textblock, textbox, timepicker
jindongjie Sep 20, 2024
9526000
trans tooltip, transitioningcctrl, tray-icon
jindongjie Sep 20, 2024
bc371be
add & trans treedatagrid section
jindongjie Sep 20, 2024
759a523
add & trans treeview, uniformgrid, viewbox, wrappanel
jindongjie Sep 20, 2024
7c9569e
update trans animation-settings, built-in-data-binding-converters
jindongjie Sep 20, 2024
f24cdcf
Merge branch 'main' into main
jindongjie Sep 23, 2024
15ba09a
Merge branch 'main' into main
rabbitism Oct 15, 2024
f0028a2
Merge branch 'main' into main
rabbitism Oct 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -36,18 +36,14 @@ import SineEaseOutScreenshot from '/img/reference/animation-settings/sine-ease-o

# 动画设置

This section contains full lists of the _Avalonia UI_ animation settings:
本节包含 _Avalonia UI_ 动画设置的完整列表:

* 缓动函数(Easing Functions)
* 填充模式(FillMode)
* 播放方向(PlaybackDirection)
* 重复(IterationCount)
本节描述了如何自定义 `Animation` 播放。

## 缓动函数(Easing Functions)

| Default |
|---------------------------------------------------------------|
`Easing` 函数描述了动画属性在动画时间内从起始值到结束值的变化速度。`Avalonia.Animation.Easings` 包含以下缓动函数:

| 默认 |
|-------------------------------------------------------------|
| `LinearEasing`<br/><img src={LinearEasingScreenshot} alt=""/> |

| Ease-In | Ease-Out | Ease-In-Out |
Expand All @@ -63,36 +59,38 @@ This section contains full lists of the _Avalonia UI_ animation settings:
| `ElasticEaseIn`<br/><img src={ElasticEaseInScreenshot} alt=""/> | `ElasticEaseOut`<br/><img src={ElasticEaseOutScreenshot} alt=""/> | `ElasticEaseInOut`<br/><img src={ElasticEaseInOutScreenshot} alt=""/> |
| `BounceEaseIn`<br/><img src={BounceEaseInScreenshot} alt=""/> | `BounceEaseOut`<br/><img src={BounceEaseOutScreenshot} alt=""/> | `BounceEaseInOut`<br/><img src={BounceEaseInOutScreenshot} alt=""/> |

## 填充模式(FillMode)
此外,您可以通过继承 `Easing` 或通过向 `SplineEasing` 或 `SpringEasing` 提供参数来提供自己的缓动函数。

动画的填充模式属性定义了动画运行后设置属性在延迟运行之间的持续方式。
## 填充模式(FillModes)

以下表格描述了可能的行为:
`Animation` 的 `FillMode` 属性定义了动画完成后以及在运行之间的延迟期间动画属性的持久化方式。

| 值 | 描述 |
|------------|---------------------------------|
| `None` | 在动画后值不会持续,也不会在延迟时应用第一个值。 |
| `Forward` | 最后一个插值值将持续到目标属性。 |
| `Backward` | 第一个插值值将在动画延迟时显示。 |
| `Both` | 同时应用 `Forward` 和 `Backward` 行为。 |
下表描述了支持的行为:

## 播放方向(PlaybackDirection)
| 值 | 描述 |
|------------|-----------------------------------------------------------------------------------------------------------|
| `None` | 动画完成后值不会持久化,动画延迟时不会应用第一个值。 |
| `Forward` | 最后插值的值将持久化到目标属性。 |
| `Backward` | 动画延迟时将显示第一个插值的值。 |
| `Both` | 将应用 `Forward` 和 `Backward` 行为。 |

播放方向定义了动画的播放方式,包括任何重复。以下表格描述了可能的设置:
## 播放方向(PlaybackDirection)

`PlaybackDirection` 定义了 `Animation` 的播放方式。下表描述了可能的设置:

| Value | Description |
|--------------------|-----------------|
| `Normal` | 动画以正常方式播放。 |
| `Reverse` | 动画以反向方向播放。 |
| `Alternate` | 动画先正向播放,然后反向播放。 |
| `AlternateReverse` | 动画先反向播放,然后正向播放。 |
| | 描述 |
|--------------------|---------------------------------------------------------|
| `Normal` | 动画正常播放。 |
| `Reverse` | 动画反向播放。 |
| `Alternate` | 动画先正向播放,然后反向播放。 |
| `AlternateReverse` | 动画先反向播放,然后正向播放。 |

## 重复(IterationCount)

动画元素上的重复属性设置了动画的重复次数。有两种格式的设置方式:
`Animation` 元素上的 `IterationCount` 设置动画要重播的次数。此设置有两种格式:

| 值 | 描述 |
|------------|------------------------------------------|
| `N` | (N 是一个整数) - 播放 N 次, N 可以为零。 |
| `Infinite` | 永远重复 |

| 值 | 描述 |
|------------|-----------------------|
| `N` | N 是整数——重复 N 次。N 可以是零。 |
| `Infinite` | 无限重复。 |
Original file line number Diff line number Diff line change
Expand Up @@ -6,41 +6,41 @@ description: REFERENCE

_Avalonia UI_ 包含许多用于常见场景的内置数据绑定转换器:

| 转换器 | 描述 |
|-------------------------------------|-----------------------------------------|
| 否定运算符 | 可以将 `!` 运算符放在数据绑定路径前面,返回布尔值的反转。参见下面的备注。 |
| `StringConverters.IsNullOrEmpty` | 如果输入字符串为 null 或空字符串,则返回 `true` |
| `StringConverters.IsNotNullOrEmpty` | 如果输入字符串不为 null 且不为空字符串,则返回 `false` |
| `ObjectConverters.IsNull` | 如果输入对象为 null,则返回 `true` |
| `ObjectConverters.IsNotNull` | 如果输入对象不为 null,则返回 `false` |
| `BoolConverters.And` | 这是一个多值转换器,如果所有输入值都为 `true`,则返回 true |
| `BoolConverters.Or` | 这是一个多值转换器,如果任何输入值为 `true`,则返回 true |
| 转换器 | 描述 |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| 取反运算符 | 可以在数据绑定路径前面放置 ! 运算符以返回布尔值的反值。另请参见下面的注释。 |
| `StringConverters.IsNullOrEmpty` | 如果输入字符串为空或为 null,则返回 `true` |
| `StringConverters.IsNotNullOrEmpty` | 如果输入字符串为空或为 null,则返回 `false` |
| `ObjectConverters.IsNull` | 如果输入为 null,则返回 `true` |
| `ObjectConverters.IsNotNull` | 如果输入为 null,则返回 `false` |
| `BoolConverters.And` | 一个多值转换器,如果所有输入都为 true,则返回 `true` |
| `BoolConverters.Or` | 一个多值转换器,如果任何输入为 true,则返回 `true` |

## 否定运算符示例
## 取反运算符示例

这个例子展示了当绑定的值为false时,文本块的情况
此示例显示当绑定值为 false 时的 `TextBlock`

```xml
<StackPanel>
<TextBox Name="input" IsEnabled="{Binding AllowInput}"/>
<TextBlock IsVisible="{Binding !AllowInput}">Input is not allowed</TextBlock>
<TextBlock IsVisible="{Binding !AllowInput}">不允许输入</TextBlock>
</StackPanel>
```

否定运算符在绑定到非布尔值时也可以工作。这是因为绑定的值首先会被转换为布尔值(使用函数`Convert.ToBoolean`),然后结果会被取反
当您绑定到非布尔值时,取反运算符也有效。这是因为绑定值首先转换为布尔值(使用函数 `Convert.ToBoolean`),然后结果被取反

例如,整数零会被转换为false(通过函数`Convert.ToBoolean`),而其他所有整数值都会被转换为true,因此你可以使用否定运算符来在集合为空时显示一条消息,像这样
例如,由于整数零被转换为 false(通过函数 `Convert.ToBoolean`),而所有其他整数值被转换为 true,您可以使用取反运算符在集合为空时显示消息,如下所示

```xml
<Panel>
<ListBox ItemsSource="{Binding Items}"/>
<TextBlock IsVisible="{Binding !Items.Count}">No results found</TextBlock>
<TextBlock IsVisible="{Binding !Items.Count}">未找到结果</TextBlock>
</Panel>
```

你也可以连续使用否定运算符两次。例如,在你想要将整数转换为布尔值,然后对该值取反时,可以这样写:
您还可以使用取反运算符两次。例如,当您希望执行从整数到布尔值的转换,然后取反该值时。

你可以使用这种方式来在集合为空时隐藏一个控件(计数为零),像这样
您可以使用此方法在集合为空(计数为零)时隐藏控件,如下所示

```xml
<Panel>
Expand All @@ -50,15 +50,15 @@ _Avalonia UI_ 包含许多用于常见场景的内置数据绑定转换器:

## 其他转换示例

这个绑定示例将在绑定的文本为null或空字符串时隐藏文本块
此示例绑定将在绑定文本为空或为 null 时隐藏文本块

```xml
<TextBlock Text="{Binding MyText}"
IsVisible="{Binding MyText,
Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
```

而这个示例将在绑定的对象为null或为空时隐藏内容控件
此示例将在绑定对象为空或为 null 时隐藏内容控件

```xml
<ContentControl Content="{Binding MyContent}"
Expand All @@ -68,7 +68,7 @@ _Avalonia UI_ 包含许多用于常见场景的内置数据绑定转换器:

## 更多信息


:::info
你可以查看 Avalonia UI 的[值转换器示例](https://github.com/AvaloniaUI/Avalonia.Samples/tree/main/src/Avalonia.Samples/MVVM/ValueConversionSample)。
您可以在 [这里](https://github.com/AvaloniaUI/Avalonia.Samples/tree/main/src/Avalonia.Samples/MVVM/ValueConversionSample) 查看 Avalonia UI 值转换器示例
:::

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
---
description: REFERENCE - Built-in Controls
---

import BorderPodLookScreenshot from '/img/reference/controls/border/border-pod-look.png';
import BorderDropShadowScreenshot from '/img/reference/controls/border/border-drop-shadow.png';

# Border 边框

边框控件为(单个)子控件装饰边框和背景。它还可以用于显示圆角。

## 常用属性

您可能最常使用这些属性:

<table><thead><tr><th width="261">属性</th><th>描述</th></tr></thead><tbody><tr><td><code>Background</code></td><td>背景颜色。</td></tr><tr><td><code>BorderBrush</code></td><td>边框颜色。</td></tr><tr><td><code>BorderThickness</code></td><td>边框线条厚度(整数)。</td></tr><tr><td><code>CornerRadius</code></td><td>所有四个角的半径(一个值),或指定为列表 - 见下文。</td></tr><tr><td><code>BoxShadow</code></td><td>定义阴影(见下文)。</td></tr></tbody></table>

## 圆角属性

您可以将圆角属性的值设置为单个值。在这种情况下,_Avalonia UI_ 将在子控件的所有四个角上使用相同的半径。

或者,您可以指定一个值列表;这必须采用以下两种格式之一。

当列表中只有两个值时,_Avalonia UI_ 将使用以下模式解释它们:

`CornerRadius="上方值 下方值"`

左上角和右上角的半径由第一个值设置,左下角和右下角的半径由第二个值设置。

当列表中有四个值时,_Avalonia UI_ 将使用以下模式解释它们:

`CornerRadius="左上值 右上值 右下值 左下值"`

:::warning
如果您使用四值模式;您必须提供所有四个值,即使其中一个为零。列表中不允许有三个值。
:::

### 示例

此示例添加了一些边框控件以在布局中创建“pod”外观:

```xml
<StackPanel>
<Border Background="Gainsboro"
BorderBrush="Black"
BorderThickness="2"
CornerRadius="3"
Padding="10" Margin="10">
<TextBlock>Box 1</TextBlock>
</Border>
<Border Background="Gainsboro"
BorderBrush="Black"
BorderThickness="2"
CornerRadius="3"
Padding="10" Margin="10">
<TextBlock>Box 2</TextBlock>
</Border>
</StackPanel>
```

<img src={BorderPodLookScreenshot} alt=""/>

## 盒廓阴影

您可以通过设置其盒廓阴影属性来定义边框的阴影。您可以使用以下方式指定单个盒廓阴影:

* 一个可选的 `inset` 关键字 - 这将在边框内绘制阴影 - 不常用!
* 两个、三个或四个长度值 - 见下文。
* 一个颜色值。

如果只给出两个长度值,将它们解释为 `offset-x` 和 `offset-y`。如果给出第三个值,则将其解释为 `blur-radius`,如果给出第四个值,则将其解释为 `spread-radius`。

:::info
您可以通过提供逗号分隔的阴影定义列表来指定多个阴影。
:::

此表描述了盒廓阴影值,按它们出现的顺序:

<table><thead><tr><th width="203">值</th><th>描述</th></tr></thead><tbody><tr><td><code>inset</code></td><td>如果未指定(默认),则假定阴影为投影(如同盒廓被抬高在内容之上)。inset 关键字的存在将阴影更改为框架内部(如同内容被压入盒廓内部)。内嵌阴影绘制在边框内(即使是透明的),并且在背景之上但在任何内容之下</td></tr><tr><td><code>offset-x</code> </td><td>指定水平距离。负值将阴影放置在元素的左侧。</td></tr><tr><td><code>offset-y</code></td><td>指定垂直距离。负值将阴影放置在元素的上方。</td></tr><tr><td><code>blur-radius</code></td><td>此值越大,模糊效果越大,因此阴影变得更大且更轻。负值不允许。如果未指定,则使用默认值(零),阴影边缘是锐利的。</td></tr><tr><td><code>spread-radius</code></td><td>正值将导致阴影扩展和变大,负值将导致阴影收缩。如果未指定,它将为 0(阴影将与元素大小相同)。</td></tr><tr><td><code>color</code></td><td>使用颜色名称(例如红色)或带有 # 前缀的十六进制颜色值的阴影颜色。例如:#dadada</td></tr></tbody></table>

:::info
如果两个偏移值都设置为零,阴影将放置在元素后面,并且只有在同时或者单独设置了 `blur-radius` , `spread-radius` 时才会生成模糊效果。
:::

### 示例

这是一个投影的示例:

```xml
<<StackPanel>
<Border Background="Gainsboro"
BorderBrush="Black"
BorderThickness="2"
CornerRadius="3"
BoxShadow="5 5 10 0 DarkGray"
Padding="10" Margin="40">
<TextBlock>Box with a drop shadow</TextBlock>
</Border>
</StackPanel>
```

<img src={BorderDropShadowScreenshot} alt=""/>

## 更多信息

:::info
有关此控件的完整 API 文档,请参见[此处](http://reference.avaloniaui.net/api/Avalonia.Controls/Border/)。
:::

:::info
在 _GitHub_ 上查看源代码 [`Border.cs`](https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Controls/Border.cs)
:::

Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import ButtonClickScreenshot from '/img/reference/controls/buttons/button-click.

按钮是一种对指针动作做出反应的控件(也有一些键盘等效操作)。当指针按下时,它会呈现出被按下的状态。

将指针按下到释放的序列解释为点击;此行为是可配置的
指针按下到释放的序列会解释为点击,并且此行为是可配置的

:::warning
在确定按钮是否被用户按下时,请始终使用`Click`事件而不是`PointerPressed`。`Click`是`Button`特有的高级事件,表示按钮已被按下。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ import ButtonSpinnerScreenshot from '/img/reference/controls/buttons/button-spin

按钮微调器是一个包含向上和向下微调按钮的控件。该按钮的内容是灵活的,但您需要编写相当多的行为代码。

## 有用的属性
## 常用属性

您可能经常使用以下属性:

<table><thead><tr><th width="261">属性</th><th>描述</th></tr></thead><tbody><tr><td><code>ButtonSpinnerLocation</code></td><td>微调按钮的位置:左侧或右侧。</td></tr><tr><td><code>ValidSpinDirection</code></td><td>用于限制微调方向:增加、减少或无。</td></tr></tbody></table>

## 更多信息
## 示例代码

```xml
<ButtonSpinner Height="20" Width="130" ButtonSpinnerLocation="Left">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import RadioButtonScreenshot from '/img/reference/controls/buttons/radiobutton.g
| `IsChecked` | 单选按钮选项是否被选中(true)或未选中(false)。 |
| `IsEnabled` | 单选按钮选项是否启用。禁用的选项呈现为透明。 |

## 更多信息
## 示例代码

以下示例展示了两组独立工作的单选按钮:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import RepeatButtonHoldScreenshot from '/img/reference/controls/buttons/repeatbu
| `Delay` | 在开始生成重复点击之前等待的时间(毫秒)。默认为300毫秒。 |
| `Interval`| 生成点击事件之间的时间间隔(毫秒)。默认为100毫秒。 |

## 更多信息
## 示例代码

下面的示例演示了一个重复按钮,使用默认的间隔和延迟来生成点击事件。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ import SplitButtonExportButtonScreenshot from '/img/reference/controls/buttons/s

[SplitButton.cs](https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Controls/SplitButton/SplitButton.cs)

## 更多信息
## 示例代码

### 基本示例

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ import ToggleSplitButtonTextListScreenshot from '/img/reference/controls/buttons

[ToggleSplitButton.cs](https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Controls/SplitButton/ToggleSplitButton.cs)

## 更多信息
## 示例代码

### 基本示例

Expand Down
Loading