gpt4 book ai didi

Xaml中的WPF .Net Core 3.0映射语言原始类型

转载 作者:行者123 更新时间:2023-12-04 21:45:51 25 4
gpt4 key购买 nike

将WPF应用程序从NET Framework 4.7转换为.Net Core 3.0时,我面临的问题之一是在XAML中映射诸如Double的原始类型的问题。在NET Framework中,此XAML可以完美地工作:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
>

<sys:Double x:Key="BaseSize">10</sys:Double>
</ResourceDictionary>

但是,.net Core中不存在mscorlib。如何在.Net Core 3中的XAML中映射原始类型?

试过这个:
https://docs.microsoft.com/en-us/dotnet/framework/xaml-services/built-in-types-for-common-xaml-language-primitives

但是对于WPF,这是不起作用的,如下所示:

“在WPF中,您可以使用XAML 2009功能,但只能用于未经标记编译的XAML。用于WPF的标记编译XAML和XAML的BAML形式当前不支持XAML 2009关键字和功能。”

最佳答案

定位.NET Core 3.0时,您可以使用完全相同的标记,即xmlns:sys="clr-namespace:System;assembly=mscorlib"确实有效。对mscorlib的任何引用都会自动类型转发到System.Runtime

如果您不相信我,请尝试构建解决方案或看看this GitHub issue

编辑:从.NET Core 3.1开始,应将assembly=mscorlib替换为assembly=System.Runtime

关于Xaml中的WPF .Net Core 3.0映射语言原始类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58540871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com