Привязка к статическому массиву в WPF?

Я хочу привязать источник элемента в моем WPF к статическому массиву. Я попытался сделать это, написав:

ItemsSource="{Binding XLTT.Core.Models.names}"

Но это не работает. Почему? Кроме того, я видел, как другие привязывались к объектам. Можно ли привязаться к статическому массиву или вместо этого я должен привязаться к объекту?

РЕДАКТИРОВАТЬ:

Вот класс с names определением.

namespace XLTT.Core.Models
{
    internal class TTColumn
    {
        internal string ColumnName;
        internal string ColumnType;
        internal int ColumnOrder;
        internal bool IsRequired;
        internal int ColumnWidth;

        public static string[] names = {"Matt", "Joanne", "Robert"};
    }
}

person user1283776    schedule 10.07.2015    source источник
comment
Где определяется ваш статический массив? Вы можете показать нам класс с его определением?   -  person Kryptos    schedule 10.07.2015
comment
Пока массив не является частным и является собственностью, все в порядке. stackoverflow.com/questions/936304/binding-to-static-property < / а>   -  person Maximus    schedule 10.07.2015
comment
@Maximus: попытался написать ItemsSource = {Binding x: Static local: XLTT.Core.Models.names}, но это не сработало   -  person user1283776    schedule 10.07.2015


Ответы (2)


Во-первых, имена должны быть собственностью.

public static string[] Names {get; set;}

Затем свяжите следующим образом:

 ItemsSource="{Binding Source={StaticResource TTColumn}, Path=Names}"
person Maximus    schedule 10.07.2015
comment
ItemsSource = {Binding Source = {StaticResource XLTT.Core.Models}, Path = Names} выдает ошибку Ошибка Ресурс XLTT.Core.Models не может быть разрешен .. Вы знаете, как устранить эту ошибку? - person user1283776; 13.07.2015
comment
Пространство имен не нужно. - person Maximus; 13.07.2015
comment
Это все еще не работает. Нужно ли мне каким-то образом определять ресурс среди других моих ресурсов? ‹Элементы управления: MetroWindow.Resources› ‹ResourceDictionary› ‹ResourceDictionary.MergedDictionaries› ‹ResourceDictionary Source = pack: // application: ,,, / MahApps.Metro; component / Styles / Controls.AnimatedSingleRowTabControl.xaml /› ‹/ResourceDictionary.MergedDictionaries› ‹/ResourceDictionary› ‹/controls:MetroWindow.Resources› - person user1283776; 13.07.2015

person    schedule
comment
Ответы только на код не приветствуются. Пожалуйста, объясните, как это решает проблему или чем это отличается от существующих ответов. Из отзыва - person Nick; 07.09.2019