Поле комбинированного списка WPF - Get проверило свойство от ListBox

У меня есть поле списка, которое определяется как так:

<ListBox ItemsSource="{Binding Source={x:Static local:ResourceCollection.resourceList}}" Height="143" HorizontalAlignment="Left" Margin="6,6,0,0" Name="assignmentLB" VerticalAlignment="Top" Width="287" FontSize="12" FontWeight="Normal" IsEnabled="True" Grid.Column="0">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <CheckBox />
                <TextBlock Text="{Binding Content}" />
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

Как я могу циклично выполниться через это поле списка и получить TextBlock. Текстовое значение только для объектов, Флажок которых был проверен?

Также..., как я могу горизонтально растянуть флажок от textblock. Прямо сейчас они друг прямо рядом с другом без интервала.

1
задан Chris Klepeis 20 May 2010 в 14:27
поделиться

1 ответ

Добавьте свойство boolean в класс, к которому вы привязываетесь (тот же самый, со свойством Content), и привяжите к нему CheckBox, например, так:

Затем вы можете просто пройтись циклом по resourceList и взять все элементы, у которых IsSelected установлено в true, вот так:

resourceList. Where(r => r.IsSelected);

Что касается горизонтального интервала, вам просто нужно задать Margin либо для CheckBox, либо для TextBlock, либо для обоих. Отступ 5,0 для TextBlock - это все, что вам нужно.

2
ответ дан 3 September 2019 в 00:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: