我在WPF中有ListBox
,它里面有CheckBox
项目。我在XAML代码隐藏中将选中的复选框与下面的代码分开。列表框在WPF中使用MVVM中的选定项目
StringBuilder sbMonths = new StringBuilder();
StringBuilder sbMonthNames = new StringBuilder();
string months;
string monthNames;
foreach (var item in ListBox.Items)
{
if (item is CheckBox)
{
var chk = item as CheckBox;
if ((bool)chk.IsChecked)
{
sbMonths.Append(chk.Tag);
sbMonths.Append(',');
sbMonthNames.Append(chk.Content.ToString());
sbMonthNames.Append('-');
}
}
}
months = sbMonths.ToString();
monthNames = sbMonthNames.ToString();
int lastIndexOfMonths = months.LastIndexOf(',');
int lastIndexOfMonthNames = monthNames.LastIndexOf('-');
if (lastIndexOfMonths > -1)
{
months = months.Remove(lastIndexOfMonths);
monthNames = monthNames.Remove(lastIndexOfMonthNames);
.... I do more here
}
事情是,我不知道如何使用MVVM做到这一点。你会提供一些解决方案吗?
XAML:
<ListBox Name="ListBox" HorizontalAlignment="Left" Height="149" Margin="23,47,0,0" VerticalAlignment="Top" Width="210">
<ComboBoxItem Content="-- Ay Seçiniz --"/>
<CheckBox Content="Ocak" Tag="1"/>
<CheckBox Content="Şubat" Tag="2"/>
<CheckBox Content="Mart" Tag="3"/>
<CheckBox Content="Nisan" Tag="4"/>
<CheckBox Content="Mayıs" Tag="5"/>
<CheckBox Content="Haziran" Tag="6"/>
<CheckBox Content="Temmuz" Tag="7"/>
<CheckBox Content="Ağustos" Tag="8"/>
<CheckBox Content="Eylül" Tag="9"/>
<CheckBox Content="Ekim" Tag="10"/>
<CheckBox Content="Kasım" Tag="11"/>
<CheckBox Content="Aralık" Tag="12"/>
</ListBox>
https://duckduckgo.com/?q=using+checkbox+in+listbox+in+wpf+mvvm – Kixoka
@Kix DuckDuckGo?该死的直。没有人可以知道我们正在寻找如何使用WPF MVVM中的列表框中的复选框。 –