У меня есть прямоугольник, который я хочу заполнить разными картинками на основе свойства. Я создал привязку к переменной bool и стилям. Но код не работает.Заполнить прямоугольник с изображением из ресурса
Ошибка: Не удается преобразовать ystem.Windows.Media.Imaging.BitmapImage в System.Windows.Media.Brush
<Rectangle Width="20" Height="20" Canvas.Left="{Binding x}" Canvas.Top="{Binding y}">
<Rectangle.Style>
<Style TargetType="Rectangle">
<Style.Triggers>
<DataTrigger Binding="{Binding teamgreen}" Value="True">
<Setter Property="Fill" Value="{StaticResource tankGreen}" />
</DataTrigger>
<DataTrigger Binding="{Binding teamgreen}" Value="False">
<Setter Property="Fill" Value="{StaticResource tankBlue}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Rectangle.Style>
</Rectangle>
tankGreen и tankBlue выглядеть следующим образом
<BitmapImage x:Key="tankBlue" UriSource="..\Images\tankBlue.png" />
<BitmapImage x:Key="tankGreen" UriSource="..\Images\tankGreen.png" />
они работают хорошо, когда я использование
<Rectangle.Fill>
<ImageBrush ImageSource="{DynamicResource tankBlue}" />
</Rectangle.Fill>
Я думаю, я просто не знаю, как включить ImageBrush в стиль для da tatrigger сеттер
Вы могли бы просто использовать элемент управления Image вместо прямоугольника, и установите его свойство Source в той или иной BitmapImage по DataTriggers. – Clemens
Да, я знаю, но позже мне понадобятся другие свойства Rectangle в проекте. Поэтому мне нужно сделать это с помощью прямоугольников. – Safiron