如何在XAML中填充List<string>?

30

这是另一个关于 XAML 的简单问题:

在 XAML 中,我可以像这样填充“复杂”列表:

<local:People x:Key="family">
    <local:Person Name="The Babe" Age="45"/>
    <local:Person Name="Greggles" Age="41"/>           
    <local:Person Name="Elmo" Age=10"/>
</local:People>

但是在这种情况下:

public class FileNames : List<string> { }

...字符串是如何添加的?

<local:FileNames x:Key="fileNames">
        ???
</local:FileNames>

顺便提一下,你可能会认出这个例子,它是从Chris Sells的《Programming WPF》中改编而来的。

感谢您的帮助!

2个回答

40

来自MSDN

<x:Array Type="sys:String"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:sys="clr-namespace:System;assembly=mscorlib">
   <sys:String>Hello</sys:String>
   <sys:String>World</sys:String>
</x:Array> 

我猜创建一个列表而不是数组会相似。


被4秒打败了。啊,太糟糕了。但是感谢您的回复。sys:String确实是我正在寻找的。 - MrGreggles
3
在WPF中,x:Array可以使用,但在Silverlight中不存在这样的东西。似乎没有人在阅读这些答案...令人惊讶。 - Boppity Bop
1
@BoppityBop 这与Silverlight有什么关系? - torvin
@Konamiman,那个链接是西班牙语。我只懂一点西班牙语。希望你能理解。 - Sam Hobbs

39
<local:FileNames x:Key="fileNames" xmlns:sys="clr-namespace:System;assembly=mscorlib">
    <sys:String>One</sys:String>
    <sys:String>Two</sys:String>
    <sys:String>Three</sys:String>
</local:FileNames>

1
我发现需要在属性值前添加前缀:clr-namespace:,根据下面@Konamiman的回答。 - Ben Laan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接