C# 防止缩放图像覆盖窗口中的其他元素

C# 防止缩放图像覆盖窗口中的其他元素,c#,.net,wpf,C#,.net,Wpf,我在图像元素中显示缩放图像,并在窗口中显示其他元素。图像开始显示时与我预期的一样,其他元素可见,但当窗口调整大小时,图像将覆盖其他元素 CentreX和CentreY的值为非零时会发生这种情况 如何将缩放图像限制为其自身元素 <Grid> <Label>Testing</Label> <Image Name="TheImage"> <Image.RenderTransform> &

我在图像元素中显示缩放图像,并在窗口中显示其他元素。图像开始显示时与我预期的一样,其他元素可见,但当窗口调整大小时,图像将覆盖其他元素

CentreX和CentreY的值为非零时会发生这种情况

如何将缩放图像限制为其自身元素

<Grid>
    <Label>Testing</Label>
    <Image Name="TheImage">
        <Image.RenderTransform>
            <ScaleTransform x:Name="scale" ScaleX="2" ScaleY="2"
                        CenterX="10" CenterY="10" />
        </Image.RenderTransform>
    </Image>
</Grid>


    public Window1()
    {
        InitializeComponent();
        BitmapImage bi = new BitmapImage();
        bi.BeginInit();
        bi.CreateOptions = BitmapCreateOptions.IgnoreColorProfile;
        bi.UriSource = new Uri(@"Image.jpg");
        bi.EndInit();

        TheImage.Source = bi;
    }

测试
公共窗口1()
{
初始化组件();
BitmapImage bi=新的BitmapImage();
bi.BeginInit();
bi.CreateOptions=BitmapCreateOptions.IgnoreColorProfile;
bi.UriSource=新Uri(@“Image.jpg”);
bi.EndInit();
图像源=bi;
}
需要StackPanel(或DockPanel),但关键是


测试

您是否尝试过将图像和其他控件放在
中?我会发誓,但显然我没有。这解决了我的测试应用程序中的问题,它也改变了实际应用程序的情况,如果不能完全修复的话,这给了我希望。谢谢不用担心,很乐意帮忙。无需回答:-)@XAMlMAX实际上,它只在中心值为0、任何正值以及位图再次覆盖标签时才起作用。您应该看看这个吗
<StackPanel>
    <Label>Testing</Label>
    <Border ClipToBounds="True">
        <Image Name="TheImage">
            <Image.RenderTransform>
                <ScaleTransform x:Name="scale" ScaleX="2" ScaleY="2"
                    CenterX="10" CenterY="10" />
            </Image.RenderTransform>
        </Image>
    </Border>
</StackPanel>