2017-02-09 2 views
0

Когда я устанавливаю фоновое изображение для кнопки WPF - оно выглядит как противоположное направление - горизонтальное перевернутое (например, зеркало). Любое решение? (Он не должен делать с FlowDirection)Фоновое изображение в кнопке WPF отображается горизонтально перевернуто (как зеркало)

<Button x:Name="btnGoodMark" Grid.Row="1" Content="{Binding Path=GoodBtnTxt}" Click="btnGoodMark_Click" FontSize="30"> 
       <Button.Background> 
        <ImageBrush ImageSource ="Images/Green_V.png" ></ImageBrush> 
       </Button.Background> 
      </Button> 
+0

Может быть, '' LayoutTransform' или RenderTransform' ... Вы должны предоставить сверяемый пример, в противном случае его не так просто, чтобы помочь. – grek40

+0

Также не совсем понятно, ищете ли вы подсказку, ПОЧЕМУ она перевернута, или решение КАК ОТКЛЮЧИТЬ изображение в исходное направление. – grek40

ответ

0

(Edited) Используйте ScaleTransform:

 <Button x:Name="btnGoodMark" RenderTransformOrigin="0.5,0" Width="100" Height="100" Grid.Row="1" Content="ABC" FontSize="30" > 
     <Button.RenderTransform> 
      <ScaleTransform ScaleX="-1" ></ScaleTransform> 
     </Button.RenderTransform> 
    </Button> 
+1

«Обратите внимание, что преобразователь необходим». Это неверно. Установите 'RenderTransformOrigin =" 0.5.0.5 "' Или установите 'LayoutTransform' вместо' RenderTransform', который компенсирует любой перевод. Также обратите внимание, что ваше решение будет переворачивать/зеркально отображать всю кнопку Button, включать текст в его содержимое. – Clemens

+0

Спасибо, ты прав. Конечно, я думаю, что «-0.5, x» верно (в котором x может быть любым значением). – Ron

+0

", в котором x может быть любым значением", конечно, '0,5', например. '-0.5' неверно. RenderTransformOrigin задается в относительных единицах от 0 до 1, '0,5,0,5', являющихся центром элемента, независимо от его фактического размера. – Clemens

1

Из Вашего вопроса не ясно, почему должно быть любая горизонтальная листать изображения вообще.

Однако установить RelativeTransform свойства ImageBrush, чтобы вернуть этот эффект:

<Button.Background> 
    <ImageBrush ImageSource="Images/Green_V.png"> 
     <ImageBrush.RelativeTransform> 
      <ScaleTransform ScaleX="-1" CenterX="0.5"/> 
     </ImageBrush.RelativeTransform> 
    </ImageBrush> 
</Button.Background> 
Смежные вопросы