代码之家  ›  专栏  ›  技术社区  ›  Chris Klepeis

wpf-从列表框获取ComboBox选中的属性

  •  1
  • Chris Klepeis  · 技术社区  · 16 年前

    我有一个列表框,定义如下:

    <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.Text值?

    也。。。如何从文本块水平地分隔复选框。现在它们就在一起,没有间隔。

    1 回复  |  直到 16 年前
        1
  •  2
  •   Charlie    16 年前

    将布尔属性添加到要绑定到的类(与 Content 属性)并绑定 CheckBox 就像这样:

    <CheckBox IsChecked="{Binding IsSelected}"/>

    然后你可以简单地循环通过 resourceList 把所有的东西 IsSelected 设置为true,如下所示:

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

    至于水平间距,只需提供 Margin 要么 复选框 TextBlock 或者两者兼而有之。上的边距为5,0 控件 应该是你所需要的。