私はObservableCollection<MyEntity>
とイベントMyEntity
のあるIsChecked
プロパティを持っていますPropertyChanged
。があり、少なくとも 1 つがチェックされている場合にプロパティをButton
変更したいと考えています。少なくともa がチェックされたときに、 を受け取り、true を返すコンバーターを作成しました。しかし、は返されます。なにが問題ですか ?ご協力ありがとうございました。IsEnabled
true
MyEntity
MyObservableCollection
ObservableCollection
MyEntity
return "null"
XAML
<Window.Resources>
<CollectionViewSource x:Key="MyObservableCollection"/>
<src:MyConverter x:Key="MyConverter"/>
</Window.Resources>
<Button IsEnabled="{Binding Converter={StaticResource MyConverter}, Source={StaticResource MyObservableCollection}}"/>
C# コンバーター
class MyConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (null == value)
return "null";
ReadOnlyObservableCollection<object> items = (ReadOnlyObservableCollection<object>)value;
List<MyEntity> myEntities = (from i in items select (MyEntity)i).ToList();
foreach (MyEntity entity in myEntities)
{
if (entity.IsChecked)
{
return true;
}
}
return false;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new System.NotImplementedException();
}
}