在Resource.XAML中列出并在ViewModel中访问

List in Resource.XAML and access in ViewModel

如何在resources.xaml中创建列表(我将使用它作为列表框的项源),以及如何在ViewModel中访问它?谢谢


这可能有帮助:Silverlight:在XAML中声明数据集合?

然后,您可以使用声明集合的控件的Resources属性来访问它。

编辑例如:

由于无法在XAML中声明泛型类型,因此需要声明新的集合类型:

1
2
3
4
5
6
7
8
using System.Collections.Generic;

namespace YourNamepace
{
    public class Genders : List<string>
    {
    }
}

然后,在添加必要的命名空间之后,在XAML中声明一个列表:

1
2
3
4
5
6
7
8
9
xmlns:local="clr-namespace:YourNamespace"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
...
<Window.Resources>
    <local:Genders x:Key="AvailableGenders">
        <sys:String>Female</sys:String>
        <sys:String>Male</sys:String>
    </local:Genders>
</Window.Resources>

当然,您可以使用内部更复杂的数据结构来声明它。然后,将其用作列表框的项源:

2

好的,我刚才已经测试过了:-)