У меня есть поле списка, которое определяется как так:
<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. Прямо сейчас они друг прямо рядом с другом без интервала.
Добавьте свойство boolean в класс, к которому вы привязываетесь (тот же самый, со свойством Content
), и привяжите к нему CheckBox
, например, так:
Затем вы можете просто пройтись циклом по resourceList
и взять все элементы, у которых IsSelected
установлено в true, вот так:
resourceList. Where(r => r.IsSelected);
Что касается горизонтального интервала, вам просто нужно задать Margin
либо для CheckBox
, либо для TextBlock
, либо для обоих. Отступ 5,0 для TextBlock
- это все, что вам нужно.