我在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中的列表框中的複選框。 –