在itemControls中水平翻转图像无效

时间:2018-08-27 17:04:48

标签: c# wpf xaml

我有一个ItemsControl和一个ItemsSource的字符串集合。这些字符串是图像的路径。我改写了ItemsControl.ItemTemplate,以容纳Source绑定到字符串的图像。这可行。我也想用ScaleTransform水平翻转图像。为了测试,我也想垂直翻转它。但是我无法正常使用,ScaleTransform水平和垂直都无效。

XAML

<ItemsControl ItemsSource="{Binding ElementName=OverviewControlName, Path=ImagesSource}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Image Source="{Binding}" RenderTransformOrigin="0.5,0.5"
                   Stretch="None">
                <Image.LayoutTransform>
                    <ScaleTransform ScaleX="{Binding ElementName=OverviewControlName, Path=FlipImageScaleX}"
                                    ScaleY="-1"/>
                </Image.LayoutTransform>
            </Image>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

ImagesSource和FlipImageScaleX是DependencyProperties。但是硬编码的ScaleY="-1"也无效。

也使用RenderTransform代替LayoutTransform无效。

我也read Stretch="None"会同时渲染图像和“变形”。但是将Stretch设置为none也不起作用。

我在做什么错了?

编辑::图像作为资源放置在dll中

0 个答案:

没有答案