条件XAML导致XBF生成器错误

dl5txlt9  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(139)

我尝试在UWP上设置MenuFlyoutItemIcon属性。由于这只在合约版本4中可用,我想使用IsApiContractPresent语句形式的条件XAML语句。这样做,我得到了以下代码:

<MenuFlyout>
     <MenuFlyoutItem Text="Open">
          <contract4Present:MenuFlyoutItem.Icon>
              <FontIcon Glyph="&#xE1A5;"/>                                
          </contract4Present:MenuFlyoutItem.Icon>
     </MenuFlyoutItem>
</MenuFlyout>

并在我的页面的定义中添加了这一行:

xmlns:contract4Present="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractPresent(Windows.Foundation.UniversalApiContract,5)"

遗憾的是,Visual Studio现在无法再编译该项目,并显示以下错误消息:
XAML二进制格式(XBF)生成器报告语法错误“0x09C4”:未找到属性
奇怪的是,当我使用documentation中给出的最小示例时,出现了同样的错误

<TextBlock contract5NotPresent:Text="Hello, World"
       contract5Present:Text="Hello, Fall Creators Update"/>

我该如何解决这个错误?或者这甚至是Visual Studio的一个bug?

sbtkgmzw

sbtkgmzw1#

显然,此函数仅适用于Minimum Build versions > 15063。否则,您必须使用版本自适应代码,而不是XAML

相关问题