По причинам, которые я не понимаю, в Silverlight value
, как видно из конвертера, имеет тип double
, но должно быть int
. На самом деле это int
на WPF.
Но так как это так, просто обработав его , как a double
, исправил проблему:
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return (int)(double)value > 0;
}
Как ни странно, более традиционная относительная привязка источника также не работает:
<Binding RelativeSource="{RelativeSource Self}" .../>
но ваша первоначальная привязка имени элемента имеет:
<ComboBox Name="ComboBoxDiscussionType" IsEnabled="{Binding ElementName=ComboBoxDiscussionType, Path=Items.Count, Converter={StaticResource ComboBoxItemsCountToBoolConverter}}"/>
Мне это кажется довольно глючным, но Silverlight иногда странный зверь.