XAML 二进制格式 (XBF) 生成器在使用 Visual Studio 的 UWP 中报告语法错误“0x09c6”

问题描述 投票:0回答:2

有人可以告诉我为什么 Visual Studio 中的 UWP 中会出现这个确切的错误吗?我注意到的模式是在数据模板内使用用户控件时,如下所示:

<DataTemplate DataType="model:ValueModel">
    <local:myControl Value="{x:Bind}"/>
</DataTemplate>

在编译过程中,此错误会在随机位置和随机时间出现,特别是在创建新的空白页面或更改文件夹结构时。 如何检查 XBF 生成器的输出并找出问题所在? 请帮忙!

c# windows visual-studio uwp uwp-xaml
2个回答
0
投票

我遇到了完全相同的错误,结果是因为我尝试在页面上分配带有错误基类的附加属性,例如:

<local:NavigablePage
...
    xmlns:local="using:MyProject.Views">
    <Page.Resources>
    ...

而不是

<local:NavigablePage
...
    xmlns:local="using:MyProject.Views">
    <local:NavigablePage.Resources>
    ...

0
投票

对于那些因为错误信息而来到这里的人。也许 Github 问题中的解决方法可能会有所帮助。 自定义控件在 WinUI 3 预览版 3(桌面)中不起作用 这在 WinUI 3 2024 中仍然存在。

解决方法:

将Style中的命名空间声明(xmlns:local2)移动到ResourceDictionary命名空间列表中:

<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App24"
xmlns:local2="using:App24.Controls">

<Style TargetType="local2:CustomControl2">
    <Setter Property="Template">
        <Setter.Value>

自动生成的代码(不起作用):

    <Style TargetType="local2:CustomControl2" xmlns:local2="using:App24.Controls">
    <Setter Property="Template">
        <Setter.Value>

当您在子文件夹中声明控件(本例中为“Controls”)时,就会发生这种情况。

© www.soinside.com 2019 - 2024. All rights reserved.