Silverlight 水平翻转栅格背景图像(笔刷)

Silverlight 水平翻转栅格背景图像(笔刷),silverlight,transitions,Silverlight,Transitions,我已将网格的背景笔刷设置为图像笔刷。 但当我将网格的流动方向设置为RightToLeft时,图像水平翻转 是否可以使用某种转换或任何其他方式(取消)翻转网格背景图像笔刷?使用合理的方法(也有同样的方法是不合理的)可以做的不多 而是使用Grid.RowSpan、Grid.ColumnSpan将图像元素作为网格中的第一项放置,以覆盖所有单元格。在图像上使用Stretch=“Fill”,因为这是背景的典型行为。好吧,我知道我的评论已经过时了,但这个问题是谷歌搜索中出现的第一个问题之一,所以我的解决方案

我已将网格的背景笔刷设置为图像笔刷。
但当我将网格的流动方向设置为RightToLeft时,图像水平翻转


是否可以使用某种转换或任何其他方式(取消)翻转网格背景图像笔刷?

使用合理的方法(也有同样的方法是不合理的)可以做的不多


而是使用Grid.RowSpan、Grid.ColumnSpan将图像元素作为网格中的第一项放置,以覆盖所有单元格。在图像上使用Stretch=“Fill”,因为这是背景的典型行为。

好吧,我知道我的评论已经过时了,但这个问题是谷歌搜索中出现的第一个问题之一,所以我的解决方案是:

我正在本地化从右向左文化的应用程序。设置FlowDirection=RTL的简单决定带来了意想不到的缺点,例如包含公司徽标的背景被翻转。我已经为用于渲染背景的图像笔刷应用了矩阵变换:

var mbgBrush = TryFindResource("MainBackground") as Brush;
        if (mbgBrush == null) return null;
        if (FlowDirection == FlowDirection.LeftToRight) return mbgBrush;
        var mainBgImageBrush = mbgBrush as ImageBrush;
        if (mainBgImageBrush == null) return mbgBrush;
        var flipXaxis = new MatrixTransform(-1.0, 0, 0, 1.0, 1, 0);
        var flippedBrush = new ImageBrush
                           {
                               Stretch = Stretch.None,
                               Opacity = 1.0,
                               ImageSource = mainBgImageBrush.ImageSource,
                               RelativeTransform = flipXaxis
                           };
        return flippedBrush;