【发布时间】:2018-10-10 21:03:06
【问题描述】:
希望这个很简单 - 但是,我找不到任何相关的帖子。
我正在构建一个带有图像的水平 StackPanel,由于某种原因,其中一个图像不断调整大小,导致图像周围出现非常不需要的边框。我可以做些什么来强制输出为图像的原始像素大小,或者有什么我可以禁用的东西允许这个 StackPanel 稍微调整我的图像大小?
如果您仔细观察,您会看到在标题文本结束的图像周围出现了透明边框。我不知道为什么会这样。这是图像的代码:
Image titleRightCap = new Image();
titleRightCap.Source = new BitmapImage(new Uri("pack://application:,,,/skins/default/top_r_title_cap.png", UriKind.Absolute));
borderTop.Children.Add(titleRightCap);
titleRightCap.Loaded += delegate (object s, RoutedEventArgs e)
{
headWidth += titleRightCap.ActualWidth;
};
这是实时输出,您可以在其中看到发生的大小差异:
如果我可以强制大小保持不变,我觉得应该可以解决这个问题,但我不确定该怎么做。
【问题讨论】:
-
只有查看Visual Tree,您才能了解确切的问题。
-
嗯,最后一个屏幕截图来自 Live Visual Tree。所有属性都与我在此场景中使用的所有其他图像匹配,这是唯一一个像这样缩放的图像。图像编辑器确认它正好是 38x10,但编译器不断将其缩小到上面看到的“ActualHeight”和“ActualWidth”。我在树中找不到任何可以解释这一点的东西。
标签: c# wpf image-resizing stackpanel