各アイテムにコンボボックスがあるアイテムのリストを含むリストボックスがあります。
リストボックス内のすべてのアイテムをループして、リストボックス内の各アイテムのコンボボックスで選択されたアイテムを取得したいと思います。これどうやってするの?
私は現在それを取り出す方法
private void StartConvertionButton_Click(object sender, RoutedEventArgs e)
{
RunNextVideo();
}
private void RunNextVideo()
{
var nextFile = viewModel.Files.Where(x => x.IsWorking == false).FirstOrDefault();
if(nextFile == null)
return;
DeviceQualityModel quality = (DeviceQualityModel) DeviceQualityComboBox.SelectedItem;
//Subtitle subtitle = nextFile
var test = FileListBox.Items;
VideoProcessing videoProcessing = new VideoProcessing(nextFile, ffmpegWrapper, viewModel, quality, new Subtitle());
videoProcessing.Done += VideoProcessingOnDone;
var thread = new Thread(videoProcessing.Run);
threads.Add(thread);
thread.Start();
}
これが私のwpfリストボックスです
<ListBox Grid.Row="1" Margin="0,10,0,0" ItemsSource="{Binding Files, Mode=TwoWay}" x:Name="FileListBox" HorizontalContentAlignment="Stretch">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="100" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0">
<TextBlock Text="{Binding Filename}" FontSize="15" />
<StackPanel Orientation="Horizontal" >
<TextBlock Text="Width: " FontSize="12" />
<TextBlock Text="{Binding Width}" FontSize="12" />
<TextBlock Text=" Height: " />
<TextBlock Text="{Binding Height}" FontSize="12" />
</StackPanel>
<TextBlock Text="{Binding Path}" FontSize="9" />
<ComboBox ItemsSource="{Binding Subtitles, Mode=TwoWay}" Visibility="{Binding HaveSubtitles, Converter={StaticResource localVisibilityConverter}}" IsSynchronizedWithCurrentItem="True" SelectedIndex="1">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Language}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<ProgressBar Height="10" IsIndeterminate="True" Visibility="{Binding IsWorking, Converter={StaticResource localVisibilityConverter}}" Width="Auto"/>
</StackPanel>
<Button Grid.Column="1" Margin="10,0,0,0" Click="RemoveButton_Click">Remove</Button>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>