diff --git a/SukiUI/Controls/SukiSideMenu.axaml b/SukiUI/Controls/SukiSideMenu.axaml
index 828cf9f7f..7eb9bbd09 100644
--- a/SukiUI/Controls/SukiSideMenu.axaml
+++ b/SukiUI/Controls/SukiSideMenu.axaml
@@ -27,13 +27,14 @@
VerticalAlignment="Top"
Classes="Basic"
Cursor="Hand"
- DockPanel.Dock="Top">
+ DockPanel.Dock="Top"
+ IsVisible="{TemplateBinding SidebarToggleEnabled}">
+ Width="12"
+ Height="12"
+ Data="{x:Static content:Icons.ChevronLeft}"
+ Foreground="{DynamicResource SukiText}">
@@ -42,7 +43,7 @@
-
diff --git a/SukiUI/Controls/SukiSideMenu.axaml.cs b/SukiUI/Controls/SukiSideMenu.axaml.cs
index a90d085e8..8bb10044d 100644
--- a/SukiUI/Controls/SukiSideMenu.axaml.cs
+++ b/SukiUI/Controls/SukiSideMenu.axaml.cs
@@ -15,6 +15,15 @@ public class SukiSideMenu : SelectingItemsControl
public static readonly StyledProperty IsSearchEnabledProperty =
AvaloniaProperty.Register(nameof(IsSearchEnabled), defaultValue: false);
+ public static readonly StyledProperty SidebarToggleEnabledProperty =
+ AvaloniaProperty.Register(nameof(SidebarToggleEnabled), defaultValue: true);
+
+ public bool SidebarToggleEnabled
+ {
+ get => GetValue(SidebarToggleEnabledProperty);
+ set => SetValue(SidebarToggleEnabledProperty, value);
+ }
+
public bool IsSearchEnabled
{
get => GetValue(IsSearchEnabledProperty);
diff --git a/docs/docs/zh/documentation/faq/custom-font.md b/docs/docs/zh/documentation/faq/custom-font.md
index 8f29fee0b..64a656179 100644
--- a/docs/docs/zh/documentation/faq/custom-font.md
+++ b/docs/docs/zh/documentation/faq/custom-font.md
@@ -21,9 +21,7 @@
```
-假设存在一组字体文件 `Assets/FontName-xxx.ttf`,并将其构建行为设置为 `AvaloniaResource`
-
-然后替换 `DefaultFontFamily` 为你的字体:
+假设存在一组字体文件 `Assets/FontName-xxx.ttf`,将其构建行为设置为 `AvaloniaResource`后,请替换 `DefaultFontFamily` 为你的字体:
```xml
// [!code highlight]
```
+---
+
原来的 `MainWindow.axaml.cs`:
```csharp
@@ -80,7 +82,7 @@ public partial class MainWindow : SukiWindow // [!code highlight]
## 完成
-至此,SukiUI 安装完成。创建项目后,建议参阅 [设置主题](/zh/documentation/theming/basic) 和 [SukiWindow 页面](/zh/documentation/controls/layout/sukiwindow)。
+顺利完成以上步骤后,SukiUI 项目便已成功创建。创建项目后,建议参阅 [设置主题](/zh/documentation/theming/basic) 和 [SukiWindow 页面](/zh/documentation/controls/layout/sukiwindow)。
::: warning
如果你遇到了包括但不限于以下异常:
diff --git a/docs/docs/zh/documentation/hosts/dialog.md b/docs/docs/zh/documentation/hosts/dialog.md
index 904e16e0c..6a7f0d973 100644
--- a/docs/docs/zh/documentation/hosts/dialog.md
+++ b/docs/docs/zh/documentation/hosts/dialog.md
@@ -27,7 +27,7 @@ public class ExampleViewModel
```
---
-如果你并未使用 MVVM 设计模式,只是想做一些简单实现,可以参考以下方法:
+如果你并未使用 MVVM 设计模式,只是想做一些简单的实现,可以参考以下方法:
### AXAML
@@ -64,13 +64,13 @@ MainWindow.DialogManager.CreateDialog()
## 显示对话框
-为了创建和显示对话框,SukiUI 提供了一种现代的构建方式。你可以在 `ISukiDialogManager` 实例上调用 `.CreateDialog()` 方法来开始构建对话框。
+SukiUI 提供了一种现代的构建方式来创建和显示对话框。你可以在 `ISukiDialogManager` 实例上调用 `.CreateDialog()` 方法来构建对话框。
-接下来,通过链式调用可以轻松设置对话框的标题、内容等。所有方法都有相应的 XML 注释说明。
+对话框构建完成后,通过**链式调用**可以轻松地设置对话框的标题、内容等。所有方法都有相应的 XML 注释说明。
-构建完对话框后,调用 `.TryShow()` 方法即可显示对话框,前提是当前没有其他对话框正在显示。
+构建完对话框后,调用 `.TryShow()` 方法即可显示对话框(若当前没有其他对话框正在显示)。
-例如,下面是一个简单的对话框示例:
+下面是一个简单的对话框示例:
```cs
public void DisplayDialog()
@@ -99,7 +99,7 @@ public void DisplayDialog()
}
```
-另一种关闭对话框的方式是通过操作按钮,接下来将介绍这一点。
+另一种关闭对话框的方式是通过按钮来交互,接下来将介绍这一点。
## 交互操作
@@ -121,6 +121,6 @@ public void DisplayDialog()
## 消息框样式
-你还可以通过 `.OfType()` 方法为对话框应用内置的消息框样式,目前支持的信息类型包括:`Information`, `Success`, `Warning` 和 `Error`。
+你还可以通过 `.OfType()` 方法为对话框应用内置的消息框样式,目前支持的样式类型有:`Information`, `Success`, `Warning` 和 `Error`。
![dialogtypes](https://github.com/user-attachments/assets/1c596315-5e9a-4f4c-b577-e27d0d6b0a1d)
\ No newline at end of file
diff --git a/docs/docs/zh/documentation/hosts/hosts.md b/docs/docs/zh/documentation/hosts/hosts.md
index 3bd7d9ce4..9c95c1738 100644
--- a/docs/docs/zh/documentation/hosts/hosts.md
+++ b/docs/docs/zh/documentation/hosts/hosts.md
@@ -6,7 +6,7 @@ SukiUI 在 `SukiWindow` 内提供了 `Hosts` 属性,可以在该属性内添
-
+
```
@@ -14,5 +14,5 @@ SukiUI 在 `SukiWindow` 内提供了 `Hosts` 属性,可以在该属性内添
SukiUI 本身提供两个可选的窗口控件,即 [SukiDialogHost](./dialog) 和 [SukiToastHost](./toast)
::: warning
-`suki:SukiWindow.Hosts` 仅在 `SukiWindow` 有效,请注意不要不小心在页面(`Views`)中声明,这将没有任何效果。
+`suki:SukiWindow.Hosts` 仅在 `SukiWindow` 有效,请注意不要在页面(`Views`)中声明,这是无效的。
:::
\ No newline at end of file
diff --git a/docs/docs/zh/documentation/hosts/toast.md b/docs/docs/zh/documentation/hosts/toast.md
index 35a6ad99e..e8097d3f8 100644
--- a/docs/docs/zh/documentation/hosts/toast.md
+++ b/docs/docs/zh/documentation/hosts/toast.md
@@ -28,7 +28,7 @@ public class ExampleViewModel
---
-如果你并未使用 MVVM 设计模式,只是想做一些简单实现,可以参考以下方法:
+如果你并未使用 MVVM 设计模式,只是想做一些简单的实现,可以参考以下方法:
### AXAML
```xml
@@ -89,7 +89,7 @@ public void DisplayToast()
## 自动消失
-通常地,当消息提醒数量超过预设的最大值后,最老的消息将会立即消失以腾出空间。
+通常当消息提醒数量超过预设的最大值后,最先出现的消息将会立即消失以腾出空间。
但是,你也可以通过调用 `.Dismiss()` 方法来设置消失的条件
@@ -113,7 +113,7 @@ SukiUI 提供了两个默认的消息回调,分别是 `.OnClicked()` 和 `.OnD
同时,可以通过 `.WithActionButton()` 方法来实现更复杂的交互操作
-以下是一个显示3秒钟后消失,点击后和消失后会调用命令行输出,按特定按钮会触发 Action 的消息用例:
+以下是一个显示3秒钟后消失,点击后与消失后分别调用命令行输出,并且按特定按钮后会触发 Action 的消息用例:
```cs
public void DisplayToast()
diff --git a/docs/docs/zh/documentation/index.md b/docs/docs/zh/documentation/index.md
index 7a5caf953..89eb735ba 100644
--- a/docs/docs/zh/documentation/index.md
+++ b/docs/docs/zh/documentation/index.md
@@ -1,5 +1,5 @@
# 文档
-欢迎访问 SukiUI 的文档站,你可以在侧边栏跳转到相关网页。
+欢迎访问 SukiUI 的文档,你可以通过侧边栏跳转到相关网页。
-欢迎反馈有关该文档的[问题](https://github.com/kikipoulet/SukiUI/issues/new/choose)
\ No newline at end of file
+欢迎通过Github Issues反馈有关该文档的[问题](https://github.com/kikipoulet/SukiUI/issues/new/choose)
\ No newline at end of file