在 `App.xaml` 中更新资源字典,添加 `MaterialTrayMenuItem.xaml` 以支持托盘菜单样式。 在 `MainWindow.xaml` 中添加 `Closed` 和 `Loaded` 事件处理程序。 在 `MainWindow.xaml.cs` 中引入 `TrayIconManager`,管理系统托盘图标及其行为。 更新 `chatclient.csproj` 中 `chat.ico` 的属性以确保复制到输出目录。 在 `MaterialTrayMenuItem.xaml` 中定义 Material Design 风格的托盘菜单项和上下文菜单样式。 创建 `TrayIconManager.cs` 类以优化托盘图标的创建和事件处理,提升用户体验。
57 lines
1.7 KiB
XML
57 lines
1.7 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<OutputType>WinExe</OutputType>
|
|
<TargetFramework>net8.0-windows</TargetFramework>
|
|
<Nullable>enable</Nullable>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<UseWPF>true</UseWPF>
|
|
<ApplicationIcon>resource\chat.ico</ApplicationIcon>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
|
<DebugType>full</DebugType>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
|
<DebugType>full</DebugType>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<Content Include="resource\chat.ico">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="Hardcodet.NotifyIcon.Wpf" Version="2.0.1" />
|
|
<PackageReference Include="log4net" Version="3.1.0" />
|
|
<PackageReference Include="MaterialDesignThemes" Version="5.2.1" />
|
|
<PackageReference Include="MaterialDesignThemes.MahApps" Version="5.2.1" />
|
|
<PackageReference Include="MaterialDesignThemes.Wpf" Version="1.0.1" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Resource Include="resource\user.png" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Compile Update="Data\DataSet.Designer.cs">
|
|
<DesignTime>True</DesignTime>
|
|
<AutoGen>True</AutoGen>
|
|
<DependentUpon>DataSet.xsd</DependentUpon>
|
|
</Compile>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<None Update="config\log4net.config">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</None>
|
|
<None Update="Data\DataSet.xsd">
|
|
<Generator>MSDataSetGenerator</Generator>
|
|
<LastGenOutput>DataSet.Designer.cs</LastGenOutput>
|
|
</None>
|
|
</ItemGroup>
|
|
|
|
</Project>
|