Можно ли привязать ComSBox ItemsSource к строке только для чтения []? - PullRequest
0 голосов
/ 16 марта 2012

В моем проекте WPF есть поле со списком, и я хотел бы, чтобы его элементы определялись массивом строк только для чтения в моем классе конфигурации.Таким образом, я бы очень легко перенастроил элементы поля со списком.

Можно ли связать мое свойство ItemsSource со строкой только для чтения []?Как это можно сделать?

Ответы [ 2 ]

3 голосов
/ 17 марта 2012

Да, скопируйте / вставьте / скомпилируйте следующее:

<ComboBox ItemsSource="Is it possible to Bind a ComboBox (WPF) ItemsSource to a read only string[]"/>
3 голосов
/ 16 марта 2012

MainWindow:

<Window x:Class="WpfApplication4.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WpfApplication4"
    Title="MainWindow" Height="350" Width="525">
<StackPanel>
    <ComboBox ItemsSource="{Binding List, Source={x:Static local:Configuration.Instance}}"></ComboBox>
</StackPanel>

Файл конфигурации:

public class Configuration
{

    // Singleton              
    private static Configuration _instance;
    public static Configuration Instance
    {
        get
        {
            if (_instance == null)
                _instance = new Configuration();

            return _instance;
        }
    }

    public IEnumerable<string> List
    {
        get
        {
            return new List<string>()
            {
                "toto 1",
                "toto 2"
            };
        }
    }

    public Configuration()
    {

    }
}
...