单击提交按钮后,在列表框中获取复选框值

时间:2014-09-29 09:25:04

标签: xaml windows-phone-8 mvvm silverlight-toolkit

我有一个包含以下列表框的数据透视表页面。 仅供参考,列表框源是在调用和从Web服务获取后从代码中设置的。

<phone:PivotItem>
    <phone:PivotItem.Header>
        <TextBlock Text="1. Fault Reported" Style="{StaticResource pivotItemTitle}"/>
    </phone:PivotItem.Header>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="60"/>
        </Grid.RowDefinitions>

        <ScrollViewer Grid.Row="0" VerticalScrollBarVisibility="Visible" BorderBrush="#FFA68F8F">
            <ListBox x:Name="listBox_Fault" Width="455" Height="550">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal" Height="70">
                            <CheckBox VerticalAlignment="Center" Content="{Binding ItemName}"/>
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </ScrollViewer>

        <TextBlock Grid.Row="1" Style="{StaticResource pageNum}" Text="1/3"/>
    </Grid>
</phone:PivotItem>

在最后一个数据透视表项目中,有一个带有点击事件的提交按钮。 当点击按钮时,我想获得复选框&#39;如果内容被检查,则将内容添加到列表中。

我怎样才能访问这些复选框及其价值?

1 个答案:

答案 0 :(得分:1)

如果您需要获取所选的复选框项,则需要在Checkbox中处理“IsChecked”属性。首先在xaml中的复选框中添加以下行。

IsChecked="{Binding Path=IsSelected,Mode=TwoWay}

在你的班级中创建一个名为“IsSelected”的属性,如下所示,

public bool IsSelected { get; set; }

然后,在submitbutton_click事件中,使用以下代码。

Items _items = new Items();
Items.wList = listBox_Fault.Items.Cast<Items>().Where(li => (li.IsSelected)).ToList();

其中,Items是您的类,wList是List属性,如下所示,

public static List<Items> wList;

现在,您将在列表中获取名为wList的选定复选框值。希望它有所帮助。