2012-02-22 2 views
0

Я несколько новичок в WPF и привязке данных, он кажется очень мощным. Мне интересно, есть ли способ иметь набор ярлыков и иметь свойство Content, связанное с другим индексом в массиве строк. Итак, когда массив обновляется, метки автоматически меняются.Связывание данных с привязкой к массиву

Синтаксис xaml по-прежнему немного чуждо мне, и я не смог заставить его работать.

ответ

4

Если это динамический набор меток, вам может быть лучше использовать ItemsControl и изменить его ItemTemplate, чтобы отобразить метку для каждого элемента в коллекции, к которой она привязана (коллекция строк в вашем случае).

Что-то вроде:

<ItemsControl ItemsSource="{Binding MyLabelStrings}"> 
    <ItemsControl.ItemTemplate> 
    <DataTemplate> 
     <Label Content="{Binding}" ... /> 
    </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 

Как Bojin упоминает, если вы хотите, чтобы ваш пользовательский интерфейс для обновления, если будут добавлены строки/удалены из коллекции, а затем использовать ObservableCollection для MyLabelStrings собственности.

+0

Не забудьте использовать наблюдаемую коллекцию для хранения ваших строк. –

+0

О, а не массив, то, что-то вроде списка ? И я думаю, я просто использую этот элемент ItemsControl и имею

+0

Вы можете использовать список или ObservableCollection , но OC предоставит вам уведомления об изменении коллекции, поэтому пользовательский интерфейс будет обновляться при изменении коллекции. – devdigital

Смежные вопросы