WPF - изображение искажается после изменения ImageSource во время триггера привязки - PullRequest
0 голосов
/ 11 февраля 2019

Итак, у меня есть изображение, которое имеет свойство Source.Это свойство использует Binding для получения свойства ImageSource из ViewModel.Привязка использует IValueConverter, однако конвертер возвращает другое значение ImageSource в зависимости от того, находится ли мышь над элементом управления.Поскольку экран имеет высокое значение DPI и из-за того, как выглядит элемент управления, для некоторых свойств необходимо было установить значение Image:

<Image Source="{Binding Filter.IsEnabled, Converter={StaticResource IsEnabledToImageSourceConverter}}"
       UseLayoutRounding="False"
       Stretch="None"
       Width="45"
       Height="45"
       Cursor="Hand" />

Код работает ... вроде.При наведении курсора мыши на элемент управления изображение меняется, но не корректируется.

Нет наведения - изображение хорошего размера:

A nicely sized bitmap

При наведении курсора - изображение искажено:

enter image description here

Изображение содержит содержимое кнопки, кнопка имеет пользовательский ControlTemplate, чтобы избавиться от нееграфика.Нет VisualStateGroups установлено.Это какой-то трюк с WPF, о котором все остальные знают, или я этим занимаюсь?

1 Ответ

0 голосов
/ 12 февраля 2019
Stretch="Uniform"

, как предлагает PJRobot, на самом деле работает.Это не идеально, так как мои изображения имеют разные размеры, и шаблон данных будет учитывать это, но по крайней мере размер изображения остается постоянным.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...