我不知道是否可能,但是我想将对象添加到可观察的集合中,然后再使用它们。
我在wpf中有这个
<CheckBox Margin="0,9,0,5" IsChecked="{Binding Prise1.Monday, Mode=TwoWay}"/>
<CheckBox Margin="0,10,0,5" IsChecked="{Binding Prise2.Monday, Mode=TwoWay}"/>
<CheckBox Margin="0,10,0,5" IsChecked="{Binding Prise3.Monday, Mode=TwoWay}"/>
<CheckBox Margin="0,9,0,0" IsChecked="{Binding Durée.Monday, Mode=TwoWay}"/>
一周中的所有天。 课程WeekValues:
private bool _Monday;
public bool Monday
{
get
{
return _Monday;
}
set
{
_Monday = value;
RaisePropertyChanged(nameof(Monday));
}
}
private bool _Tuesday;
public bool Tuesday
{
get
{
return _Tuesday;
}
set
{
_Tuesday = value;
RaisePropertyChanged(nameof(Tuesday));
}
}
private bool _Wednesday;
public bool Wednesday
{
get
{
return _Wednesday;
}
set
{
_Wednesday = value;
RaisePropertyChanged(nameof(Wednesday));
}
}
private bool _Thursday;
public bool Thursday
{
get
{
return _Thursday;
}
set
{
_Thursday = value;
RaisePropertyChanged(nameof(Thursday));
}
}
private bool _Friday;
public bool Friday
{
get
{
return _Friday;
}
set
{
_Friday = value;
RaisePropertyChanged(nameof(Friday));
}
}
private bool _Saturday;
public bool Saturday
{
get
{
return _Saturday;
}
set
{
_Saturday = value;
RaisePropertyChanged(nameof(Saturday));
}
}
private bool _Sunday;
public bool Sunday
{
get
{
return _Sunday;
}
set
{
_Sunday = value;
RaisePropertyChanged(nameof(Sunday));
}
}
}
我想做这样的事情:
public ObservableCollection<WeekValues> allPrises = new ObservableCollection<WeekValues>();
Prise1 = new WeekValues();
Prise2 = new WeekValues();
Prise3 = new WeekValues();
Durée = new WeekValues();
allPrises.Add(Prise1);
allPrises.Add(Prise2);
allPrises.Add(Prise3);
allPrises.Add(Durée);
并使用类似方法:
MyMethod(allPrises)
{
foreach(var X in allPrises)
{
if(Prise1.Monday) ...do something
if(Prise2.Monday) ... do something else
}
这清楚吗? 这就是我的想法,我想知道如何进行,因为当我进行一次foreach时,我只会在没有“ Prise1”或“ Prise2”的情况下得到对/错。 您知道如何解决这个问题吗? 预先谢谢你
答案 0 :(得分:1)
您正在遍历所有4个WeekValues
。因此,X
在第一次迭代中就是Prise1
,依此类推。
if (Prise2.Monday)
可以写为if (allPrises[1].Monday)
。