目前,我们正在尝试改进现有的WPF应用程序UI。为此,我们正在尝试使用WinAppSDK来使用Winui3控件。
随后采取了步骤。
创建了新的WPF应用程序从Nuget包安装了最新版本的WinAppSDK
通过在APP.Xaml中包含XAMLControlResources引用了winUI控件
但是我无法访问MicrosoftIidoIidoXAML中的控件,它说不存在。
请告知我是否正在尝试正确的方法。
App.XAML
<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="using:Microsoft.UI.Xaml.Controls"
xmlns:controls1="clr-namespace:ABI.Microsoft.UI.Xaml.Controls;assembly=Microsoft.WinUI"
StartupUri="MainWindow.xaml">
<Application.Resources>
<controls1:XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" x:Key="winAppControl"/>
</Application.Resources>
</Application>
MainWindow.Xaml
<Window x:Class="WpfApp2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
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"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls;assembly=Microsoft.WinUI"
xmlns:local="clr-namespace:WpfApp2"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800"
<muxc:TreeView>
<muxc:TreeView.RootNodes>
<muxc:TreeViewNode Content="Flavors">
<muxc:TreeViewNode.Children>
<muxc:TreeViewNode Content="Vanilla"/>
</muxc:TreeViewNode.Children>
</muxc:TreeViewNode>
</muxc:TreeView.RootNodes>
</muxc:TreeView>
</Window>
我收到错误,因为找不到资源
1条答案
按热度按时间xzlaal3s1#
正如Simon Mourier所提到的,WinUI 3和WPF是完全不同的技术。你不能轻易地混合它们,因为它们使用完全不同的技术来呈现控件(例如,WPF是.NET,而WinUI 3是用C++/WinRT编写的)。
唯一的解决方案是使用XAML岛,但是它们不能作为稳定版本的一部分用于WinUI 3。到目前为止,唯一的方法是使用WinUI 3的实验版本,但即使这样,也不清楚它是否会很快被带到稳定版本的渠道(或根本)。