0

how to create a list in resources.xaml ( I will use it as itemsource for my listbox) and how can I access it in ViewModel? Thanks

4

1 回答 1

1

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

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

编辑例如:

你需要声明一个新的集合类型,因为你不能在 XAML 中声明一个泛型类型:

using System.Collections.Generic;

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

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

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>

您当然可以在内部使用更复杂的数据结构来声明它。然后,将其用作您的 ListBox 的 ItemsSource:

<ListBox ItemsSource="{Binding Source={StaticResource AvailableGenders}}"/>

那行得通,我刚刚测试过:-)

于 2013-04-23T08:57:05.390 回答