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