0

次のコードがあります。

List<String> AdminLocation= new List<String>();
AdminLocation.Add("Location1");
AdminLocation.Add("Location2");
AdminLocation.Add("Location3");

AdminLocation.Cast<string>().ToList()

ContactLocations = Locations
    .Where(l => l.Active == "Y").OrderBy(l => l.Name)
    .Select(l => new Location { DbLocation = l, IsChecked = false })
    .ToList();

public class Location    {
    public db.Location DbLocation { get; set; }
    public Boolean IsChecked { get; set; }
    public Boolean IsEnabled { get; set; }
}

私の WPF XAML には、チェックボックス付きのリストボックスがあります。現在、ContactLocations はすべての場所を返します。AdminLocation リストをミックスに追加し、AdminLocation では見つからないが ContactLocations にあるすべての場所に対して IsEnabled フラグを false に設定したいと思います。

たとえば、ContactLocations には次のものが含まれます。

ロケーション1 ロケーション2 ロケーション3 ロケーション4 ロケーション5

したがって、私が見たいのは Location4 と Location5 IsEnabled = false で、他のすべての項目は true に設定されます。

リストから Location4 と Location5 を除外するコードがありますが、IsEnabled フラグの値が異なるようにしたいのです。

ContactLocations = Locations
    .Where(l => l.Active == "Y").OrderBy(l => l.Name)
    .Select(l => new Location { DbLocation = l, 
                                IsChecked = false, 
                                IsEnabled = true [if contains in AdminLocation] else false })
    .ToList();
4

2 に答える 2

1
ContactLocations = Locations
.Where(l => l.Active == "Y").OrderBy(l => l.Name)
.Select(l => new Location { DbLocation = l, 
                            IsChecked = false, 
                            IsEnabled = AdminLocation.Contains(l.Name) })
.ToList();

このようなものは役に立ちますか?

于 2013-11-05T16:55:05.027 に答える
1

既存のクエリのリストを確認できると思いますcontains

List<String> AdminLocation= new List<String>();
AdminLocation.Add("Location1");
AdminLocation.Add("Location2");
AdminLocation.Add("Location3");

AdminLocation.Cast<string>().ToList()

ContactLocations = Locations
    .Where(l => l.Active == "Y").OrderBy(l => l.Name)
    .Select(l => new Location { DbLocation = l, IsChecked = false, IsEnabled = AdminLocation.Contains(l.Name) })
    .ToList();

public class Location    {
    public db.Location DbLocation { get; set; }
    public Boolean IsChecked { get; set; }
    public Boolean IsEnabled { get; set; }
}
于 2013-11-05T16:55:11.807 に答える