条件XAML导致XBF生成器错误

时间:2017-12-01 22:54:32

标签: xaml uwp visual-studio-2017

我正在尝试在Icon上设置MenuFlyoutItem的{​​{1}}属性。由于这仅在合同版本UWP中可用,因此我希望以4语句的形式使用条件XAML语句。这样做,我想出了这段代码:

IsApiContractPresent

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

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

可悲的是,Visual Studio现在无法再编译项目,并显示以下错误消息:

  

XAML二进制格式(XBF)生成器报告语法错误&#39; 0x09C4&#39; :未找到属性

奇怪的是,当我使用documentation

中给出的最小示例时,会出现同样的错误
xmlns:contract4Present="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractPresent(Windows.Foundation.UniversalApiContract,5)"

如何解决此错误?或者这甚至是Visual Studio的错误?

1 个答案:

答案 0 :(得分:0)

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