打开 对话框
在本页面中,您将学习如何使用 ReactiveUI 在应用程序中管理另一个窗口。新窗口最终将包含一个搜索功能,并且有一个按钮可以将找到的专辑封面之一添加到主窗口的列表中。这个新窗口将作为对话框打开,也就是说,在它显示的时候会阻止主窗口的活动。
添加一个新的对话框窗口
将窗口视图文件可以置入对话框内也并没有什么特别的地方,这完全取决于应用程序控制窗口的方式,而这是使用 ReactiveUI 来管理的。所以,第一步是为应用程序创建一个新窗口。
要创建一个新窗口,请按照以下步骤进行操作:
- 如果应用程序仍在运行,请停止它。
- 在解决方案资源管理器中,右键单击 /Views 文件夹,然后点击 添加。
- 点击 Avalonia Window。
- 在提示输入名称时,输入 'MusicStoreWindow'。
- 按下回车键。
对话框窗口样式
要将新的对话框窗口样式与主窗口相匹配,请按照以下步骤进行操作:
- 找到并打开 MusicStoreWindow.axaml 文件。
- 如下更改代码,以添加亚克力模糊背景,并将其延伸到标题栏中(与之前相同):
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="Avalonia.MusicStore.Views.MusicStoreWindow"
Title="MusicStoreWindow"
TransparencyLevelHint="AcrylicBlur"
ExtendClientAreaToDecorationsHint="True">
<Panel>
<ExperimentalAcrylicBorder IsHitTestVisible="False">
<ExperimentalAcrylicBorder.Material>
<ExperimentalAcrylicMaterial
BackgroundSource="Digger"
TintColor="Black"
TintOpacity="1"
MaterialOpacity="0.65" />
</ExperimentalAcrylicBorder.Material>
</ExperimentalAcrylicBorder>
<Panel Margin="40">
</Panel>
</Panel>
</Window>