Mar*_*eIV 6 wpf xaml controls uielement visual-studio-2015
我们在类库中定义了一个名为FixedToolBar的自定义控件,该库由第二个程序集引用,该程序集通过XAML使用它.但是,VS2015显示错误:
类型为FixedToolBar的值无法添加到"UIElementCollection"类型的集合或字典中
这是班级本身
public class FixedToolBar : Control // <-- Control is a subclass of UIElement
{
// Bla bla
}
Run Code Online (Sandbox Code Playgroud)
......这是XAML片段......
<DockPanel>
<c:FixedToolBar x:Name="MainToolBar" DockPanel.Dock="Top">
<Button Header="Test 1" />
<Button Header="Test 2" />
</c:FixedToolBar>
<ListBox x:Name="MainListBox" />
</DockPanel>
Run Code Online (Sandbox Code Playgroud)
更奇怪的是它只显示XAML编辑器打开时的错误,但否则编译并运行就好了!
有什么想法吗?让VS在设计时报告所有这些错误真的很烦人.所有那些红色波浪形使得XAML da @ n几乎不可读!
据传,这些幻影错误曲线经常出现在以下情况下:
就构建系统而言,这根本不是问题,因为项目A的依赖是递归计算的,所以它们包括依赖的依赖,所以项目C当然也会包括在内。
但显然 xaml 子系统出于某种难以理解的原因需要自行解决项目依赖关系,并且它不够聪明,无法递归地解决它们。
解决方案是让项目 A 显式引用项目 C,尽管事实上它并不使用它。
另请注意,在尝试这样做时,您可能会遇到进一步的复杂情况,例如,如果您编辑 A.csproj 以将 PackageReference 添加到项目 B,然后重新加载项目 A,则该引用可能不会出现在“引用”下,在这种情况下,幻影曲线不会消失。适当的完全干净的重建往往可以解决这个问题。
| 归档时间: |
|
| 查看次数: |
860 次 |
| 最近记录: |