WinUI3项目中使用XamlReader需添加哪个NuGet包?
在WinUI3项目中使用XamlReader无需额外安装NuGet包
我想在WinUI3(WindowsApp)项目中,使用XamlReader在运行时创建FrameworkElement。查阅相关操作文档时,发现文档未明确说明XamlReader所属的NuGet包,当前我的项目已安装的包如下:
<PackageReference Include="CommunityToolkit.WinUI" Version="7.1.2" /> <PackageReference Include="CommunityToolkit.WinUI.UI.Controls.DataGrid" Version="7.1.2" /> <PackageReference Include="CommunityToolkit.WinUI.UI.Controls.Primitives" Version="7.1.2" /> <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" /> <PackageReference Include="Microsoft.WindowsAppSDK" Version="1.2.230313.1" /> <PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.756" />
请问还需要添加哪个额外的包?
不需要额外安装任何NuGet包。XamlReader是WinUI3框架的核心API之一,已经包含在你当前安装的Microsoft.WindowsAppSDK包中。
使用时只需确保代码中引用了正确的命名空间:
using Windows.UI.Xaml.Markup;
简单使用示例:
// 定义要创建的XAML字符串,必须包含默认命名空间 string dynamicXaml = "<TextBlock xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Text='动态创建的文本块' FontSize='18'/>"; // 加载XAML并转换为FrameworkElement FrameworkElement dynamicElement = (FrameworkElement)XamlReader.Load(dynamicXaml); // 将创建的元素添加到界面容器(比如StackPanel)中 YourContainerControl.Children.Add(dynamicElement);
注意:编写XAML字符串时,必须指定正确的默认命名空间(http://schemas.microsoft.com/winfx/2006/xaml/presentation),否则加载会失败。
内容的提问来源于stack exchange,提问作者user4266661
相关产品推荐
相关产品推荐

