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