感谢Rachel的评论,我提出以下答案.我希望它可以帮助那些需要这样做的人.我四处搜索,并没有看到明确写下的例子.也许这太麻烦了太烦了:)我发现把所有东西拉到一起并且工作有些痛苦,所以我在这里写下来.再次感谢瑞秋!
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Demo"
Title="MainWindow" Height="350" Width="525">
这是ViewModel代码:
namespace Demo.ViewModel
{
public class MainViewModel : ViewModelBase
{
public MainViewModel()
{
_myCollection = new ObservableCollection();
foreach (NumberOfPlayersEnum value in Enum.GetValues(typeof(NumberOfPlayersEnum)))
{
NumberOfPlayersClass myClass = new NumberOfPlayersClass();
myClass.Player = value;
myClass.IsChecked = value == NumberOfPlayersEnum.Two ? true : false; // default to using 2 players
myClass.Title = Enum.GetName(typeof(NumberOfPlayersEnum), value);
_myCollection.Add(myClass);
}
}
private ICommand _myCommand;
public ICommand MyCommand
{
get
{
if (_myCommand == null)
{
_myCommand = new RelayCommand(new Action(ResolveCheckBoxes));
}
return _myCommand;
}
}
ObservableCollection _myCollection = new ObservableCollection();
public ObservableCollection MyCollection
{
get
{
return _myCol