リストビューのチェックボックスがオンになっているかどうかを確認するにはどうすればよいですか? 行をチェックすると、予算が減少します。行のチェックを外すと、予算が増えます。 私はそれが間違っていることを知っていますが、私はそれを行う方法を知らない。チェックボックスがチェックされているかどうかC#WPF
private void CheckBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
long g;
foreach(Player item in lv_player.Items)
{
g = Convert.ToInt64(item.Value);
if (item.IsChecked == false)
{
budget += g;
Team.Add(item);
}
else
{
budget -= g;
Team.Remove(item);
}
lab_budget.Content = budget;
}
}
XAML
<ListView Name="lv_player" Grid.Column="0" HorizontalAlignment="Left" Height="234" Margin="10,10,0,0" VerticalAlignment="Top"
ItemsSource="{Binding}" SelectionMode="Multiple" Width="557">
<ListView.View>
<GridView>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox Selector.SelectionChanged="CheckBox_SelectionChanged" ToggleButton.Unchecked="CheckBox_Unchecked" Checked="CheckBox_Checked" IsChecked="{Binding Path=IsSelected, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Name" Width="150" DisplayMemberBinding="{Binding Name}"/>
</GridView>
</ListView.View>
</ListView>
クラスプレーヤー Class Player
質問にソースコードをテキストとして投稿してください。 –
このようにプログラムしました。チェックされていない場合は、予算にgを追加します。それ以外の場合は、予算からgを引きます。おそらく 'if(item.IsChecked == false)'を 'if(item.IsChecked)'に置き換えてください。 – Clemens