我有一个实现IList
的集合类,但是正在XAML中创建它的实例。
在下面的代码中,如果我将IList
更改为使用通用版本-IList<object>
-那么该代码可以正常工作。暗示是,IList
不受支持。是这种情况,并且/或者应该将其视为错误?
ICollection
的行为类似。
Microsoft文档here仅声明通常使用Add
方法,并且未提及任何接口。 GitHub here上的框架文档明确指出IList
是XAML列表概念的基础-尽管(对我而言)尚不清楚是指WPF还是UWP(或...)。 >
MyList.cs:
...
namespace Project
{
public class MyList : IList
{
...
}
}
Test.xaml
<Page
x:Class="Project.Views.Test"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Project">
<Grid>
<Grid.Resources>
<local:MyList x:Key="TestList">
<x:String>Test</x:String>
</local:MyList>
</Grid.Resources>
</Grid>
</Page>
这会导致两个错误:
1. Missing Content Property definition for Element 'MyList' to receive content 'String'
2. Unknown member '_UnknownContent' on element 'MyList'
这表明XAML处理器不知道MyList
是一个集合。