【发布时间】:2016-12-22 22:12:39
【问题描述】:
在我正在开发的 WPF 应用程序中,每个 ScrollViewer 控件都会在其显示的内容周围放置一个白色边框,我需要移除此边框。边框在有和没有我的自定义样式时都存在。
唯一不显示的是当我为我的窗口启用 AllowTransparency 时,但 AllowTransparency 必须保持禁用状态 - 窗口是无边框的,没有镶边,我的方式是m 应用必要的投影需要 AllowTransparency 为 false。
这是右上角的特写:
那个令人讨厌的白色边框破坏了我的应用程序的外观,需要删除。我不相信它是另一个元素的背景,因为我已经将几乎每个父元素的背景设置为非白色或透明颜色并且它仍然显示。如何在禁用 AllowTransparency 并保留无铬窗口的同时删除有问题的边框?
澄清代码:此 UserControl 包含一个受影响的 ScrollViewer:hastebin.com/okudoyubal.xml 并且是此 UserControl 中的一个子项:hastebin.com/esiregapem.xml
使用稍微修改的 Metro 主题:http://www.mediafire.com/file/xjawcacw3gzk435/ModMetroTheme.zip
这里是特定的 ScrollViewer 样式:https://hastebin.com/uvulihekex.xml
【问题讨论】:
-
ScrollViewer的内容是什么?ScrollViewerBackground 属性设置为什么?您能否创建一个非常简单的 XAML 页面来演示该问题并发布该 Xaml 代码。我创建了一个带有Grid的简单窗口,并在其中放置了ScrollViewer。我在ScrollViewer上设置的唯一属性是将边距设置为 10,背景设置为 LightBlue。然后我在“ScrollViewer”中放置了一个Canvas。我的 Window 上没有看到任何白色边框。 -
此 UserControl 包含一个受影响的 ScrollViewer:hastebin.com/okudoyubal.xml,并且是此 UserControl 中的一个子项:hastebin.com/esiregapem.xml
-
我复制了您的代码,没有看到白色边框,但滚动条看起来也不同。您在这里应用了任何样式吗?你也可以发布它,也许它是导致边框的原因。
-
我对选择的组件使用了一个稍微修改过的类似 Metro 的主题:mediafire.com/file/xjawcacw3gzk435/ModMetroTheme.zip,这是 ScrollViewer 的特定样式:hastebin.com/uvulihekex.xml 奇怪的是,白色边框同时出现在 Metro ScrollViewers 和默认的 Win 7 ScrollViewers
-
我和 lena 在一起,我复制了你的代码,但没有看到任何白色边框。你的模糊技巧对我来说似乎完全错误。您有一些引入该边框的样式。找到并正确修复它,而不是模糊不清。
标签: c# wpf controls scrollviewer