如何更新wp8应用程序中的复选框

时间:2014-07-26 16:30:20

标签: c# windows-phone-8 checkbox

在我的wp8应用中,我有一个列表框下的复选框。

以下是XAML代码:

 <ListBox Name="URLListBox"  Grid.Row="2"  >
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Grid   >
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition/>
                            <ColumnDefinition Width="400"/>

                        </Grid.ColumnDefinitions>

                            <TextBlock   Grid.Column="1" Tag="{Binding b1Tag}" Tap="surenameTap"   x:Name="surename" FontFamily="Consolas"  FontSize="25" Text="{Binding text}"   VerticalAlignment="Center" HorizontalAlignment="Center" Margin="60,0,0,0"/>


                        <CheckBox IsEnabled="False"  BorderThickness="0" BorderBrush="DarkGreen"  Background="DarkGreen"  Grid.Column="0" x:Name="checkbox" IsChecked="{Binding file}"   ></CheckBox>

                    </Grid>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

我想在程序运行时更新复选框。该复选框显示数据是否已下载。

我使用BackgroundTransferRequest下载文件。我想在下载完成后检查复选框。

实际上我有一个类来确定下载了哪些文件并将其与复选框绑定,但是当我进入页面时它会更改复选框。那就是我应该转到上一个菜单并重新启动包含复选框的页面,然后它会显示选中的复选框,但是当我在页面时我想要这个。

这是绑定复选框的类:

lnk = new linkname();
URLListBox.ItemsSource = lnk.obj();

1 个答案:

答案 0 :(得分:1)

确保已设置DataContext和Implemented InotifyPropertyChanged接口,仅当您实现接口时,属性才会更新。

此外,你必须在绑定时添加Mode =“TwoWay”,类似这样的

IsChecked="{Binding file, Mode="TwoWay"}"

快速示例为here