Binding static observablecollection<int>

222
13 февраля 2018, 05:16

Доброго времени суток!

У меня возникла проблема с привязкой статического свойства в XAML. Руководствовался данным ответом. В классе у меня определена статическая переменная:

    public static ObservableCollection<int> CountInDirections { get; set; }
    static Worker()
    {
        CountInDirections = new ObservableCollection<int>
        {
            0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
        };
    }

Но в XAML коде появляется следующая ошибка:

    Член "CountInDirections[6]" не распознан или недоступен.

Вот что в XAML:

    <Label Content="{Binding Path=(local:Worker.CountInDirections[6])}" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Center"/>

Ошибка появляется при обращении по индексу.

Помогите решить проблему!=)

Answer 1

Для доступа по индексу к статичной коллекции при привязки следует воспользоваться следующим способом:

    <Window.Resources>
        <local:Worker x:Key="WorkerQ"/>
    </Window.Resources>
    ...
    <Label Content="{Binding Source={StaticResource WorkerQ}, Path=CountInDirections[6]}" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Center"/>
Answer 2

Попробуйте так:

{Binding Path=(local:Worker.CountInDirections)[6]}
READ ALSO
Доступ к переопределенным методам

Доступ к переопределенным методам

Есть задача «OverloadResolutionOverride» (Задача):

212
Сборки нейтральные к домену

Сборки нейтральные к домену

Что это за зверь, как это сделать и когда этот хинт лучше использовать?

175
Изменить размер рамки WS_SIZEBOX

Изменить размер рамки WS_SIZEBOX

Пишу свой интерфейс(для теста)Задал форме свойство FormBorderStyle = None Также, перегрузил данное свойство, дабы менять размер формы:

259
Правильный запуск *.exe - C#

Правильный запуск *.exe - C#

Добрый день ребят, нуждаюсь в Вашей помощи, уже бьюсь неделю над одним вопросом, ничего в голову не приходит Есть игровой лаунчер, естественно...

160