В моем приложении 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();
Убедитесь, что вы установили интерфейс DataContext и реализованный интерфейс InotifyPropertyChanged, только когда вы реализуете интерфейс, свойство будет обновляться.
А также вам нужно добавить режим = "TwoWay" при привязке, что-то вроде этого
IsChecked="{Binding file, Mode="TwoWay"}"
Быстрый образец здесь