簡體   English   中英

Resource.XAML 中的列表和 ViewModel 中的訪問

[英]List in Resource.XAML and access in ViewModel

如何在 resources.xaml 中創建一個列表(我將使用它作為我的列表框的 itemsource)以及如何在 ViewModel 中訪問它? 謝謝

這可能會有所幫助: 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}}"/>

那行得通,我剛剛測試過:-)

添加到@JerimyGilbert 答案,您可以從類中填充列表並直接從 XAML 中使用它,如下所示:

using System.Collections.Generic;

namespace YourNamepace
{
    public class Genders : List<string>
    {
       public Genders()
       {
          Add("Male");
          Add("Female");
       }
    }
}

<Window.Resources>
    <local:Genders x:Key="Genders"/>
</Window.Resources>
<ListBox ItemsSource={Binding Source={StaticReource Genders}}/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM