РЕДАКТИРОВАТЬ: хорошо, так что я думаю, что это должно быть хорошо сейчас ..
Все еще предполагая, что ваша коллекция представляет собой коллекцию:
public class Effect : INotifyPropertychanged
{
//Some properties
private bool isVisible;
public bool IsVisible
{
get { return isVisible;}
set { isVisible=value;//plus raise propertychanged notification}
}
}
тогда я думаю, что самый простой способ распространить изображение, щелкнув как по свойству кода, так и по непрозрачности изображения, - это обернуть ваш значок кнопкой переключения. Вот код, который я использовал и протестировал. Просто замените значения вашими и поместите это в шаблон данных, на этот раз все должно работать нормально:
<ToggleButton x:Name="tgBtn" Height="20" Width="20" IsChecked="{Binding IsVisible}"
BorderThickness="0" Background="Transparent" >
<ToggleButton.Style>
<Style TargetType="{x:Type ToggleButton}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Image Width="18"
Height="18"
Source="C:\USERS\thumbnail.jpeg">
<Image.Style>
<Style TargetType="{x:Type Image}">
<Setter Property="Opacity" Value="1"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=tgBtn, Path=IsChecked}" Value="false">
<Setter Property="Opacity" Value="0.5"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ToggleButton.Style>
</ToggleButton>