0
У меня есть ListBox и DataTemplate определен как так:Как я могу доступ к элементам управления в элементе управления ListBox, порожденного ItemTemplate
<Window.Resources>
<DataTemplate x:Key="propertyTemplate">
<StackPanel Margin="8" Orientation="Horizontal">
<CheckBox Name="Chosen"/>
<TextBlock Text="{Binding Path=MAP}" Margin="10,0,0,0"/>
</StackPanel>
</DataTemplate>
</Window.Resources>
<ListBox x:Name="listBox" HorizontalAlignment="Left" Height="100" Margin="388,203,0,0" VerticalAlignment="Top" Width="522"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource propertyTemplate}"/>
Я заполнить ListBox с помощью Linq запрос:
Dim propertyList = (from a In db.properties
select a).ToList()
listbox.datacontext = propertyList
Я хочу проверить и установить значение флажка «Выбран» для каждого элемента в списке. Есть ли способ сделать это?
LinqtoSQL создает класс item, поэтому я предполагаю, что мне нужно будет создать еще один класс для этого списка, который наследуется от класса LinqToSql, и добавить к нему булевское поле. Должен ли я создать индивидуальный конструктор элемента по элементу, чтобы преобразовать его в новый тип, или есть лучший способ сделать это? (Или я просто в неправильном направлении здесь) – Rolan
Возможно, вы захотите обернуть свою модель (класс базы данных) в классе модели представления, у которого есть это дополнительное свойство. –
(Класс view-model имеет свойство, содержащее модель, если это было непонятно.) –