c# как изменять состояния checkbox в коллекции
<DataGrid x:Name="opened_files_dg" Grid.Row="1"
AutoGenerateColumns="False"
IsReadOnly="True"
Margin="0,5,0,0"
>
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path = chk , Mode = TwoWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Название" Binding="{Binding Title}"/>
<DataGridTextColumn Header="Длина" Binding="{Binding Duration}"/>
<DataGridTextColumn Header="Качество" Binding="{Binding Bitrate}"/>
<DataGridTextColumn Header="Прогресс" Binding="{Binding Progress}"/>
</DataGrid.Columns>
</DataGrid>
public class Song
{
public string Title { get; set; }
public string Duration { get; set; }
public string Bitrate { get; set; }
public int Progress { get; set; }
public bool chk { get; set; }
}
songs = new ObservableCollection<Song>();
if(openfilesDialog.ShowDialog()==true){
foreach (var f in openfilesDialog.FileNames){
Song song = new Song() {
Title=f,
Duration="00:00:00",
Bitrate="128kb/s",
chk=false
};
songs.Add(song);
}
opened_files_dg.ItemsSource = songs;
}
songs заполняется списком открытых mp3 файлов. не могу получить список отмеченных, не обновляется коллекция
//это просто кнопка для получения списка отмеченных
private void go(object sender, RoutedEventArgs e)
{
string str= "";
foreach(Song s in songs)
{
str += s.chk + "\n";
}
test_txt.Text = str;
}
выводит false у всех элементов