【问题标题】:WPF: Apply ScrollBar Style to ListBox Template - Error object cannot be added to borderWPF:将滚动条样式应用于列表框模板 - 无法将错误对象添加到边框
【发布时间】:2010-11-27 15:01:31
【问题描述】:

我认为这可能是一个简单的问题,但在搜索网络或 SO 时没有找到任何明确的答案。

我创建了一个ScrollBar 样式(使用标准滚动条模板 - Blend 2)

我不确定如何将此样式“MyScrollStyle”应用于ListBox 模板。

我在ListBox 模板上看到他们有一个ScrollViewer --> 应该包含ScrollBar

假设它很简单:

<Setter Property ="Template" value="{Static Resource  MyScrollStyle}"/>

---添加内容---

在模板编辑中经历了很多 xaml 之后,我有点理解如何应用样式。我正在尝试将此示例中设置的滚动视图样式 -http://blog.xamltemplates.net/wp-content/uploads/2008/12/scrollviewer.zip 添加到我的列表视图模板中,但它给出了以下错误:

System.Windows.Markup.XamlParseException was unhandled
  Message="'ScrollViewer' object cannot be added to 'Border'. Exception has been thrown by the target of an invocation.  Error at object 'System.Windows.Controls.ScrollViewer' in markup file 'MenuModule, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null;component/resources/Resources.xaml' Line 19 Position 26."
  Source="PresentationFramework"
  LineNumber=19
  LinePosition=26
  NameContext="1_T"

感谢任何帮助

谢谢你, 三月

【问题讨论】:

  • 来自模板:
  • 如果我错了,请纠正我:我必须为 ScrollViewer 编辑模板并在滚动查看器中使用 ScrollBar 样式。我应该将 ScrollViewer 样式应用于 ListBox

标签: wpf listbox styles


【解决方案1】:

您需要修改ListBox.Template,在里面找到ScrollViewer并应用样式,或者禁用ListBox上的滚动并将其放入您的样式的ScrollViewer中。

【讨论】:

  • 谢谢 Gimlay。如果我将 Listbox 放在 scrollviewer 中,我将能够为 LisBoxItems 进行 UI 虚拟化
  • 不,它不起作用。但在大多数情况下,这不是必需的。如果您需要虚拟化,请编辑 ListBox 模板。
猜你喜欢
  • 2013-01-24
  • 1970-01-01
  • 2022-10-06
  • 1970-01-01
  • 2020-08-13
  • 1970-01-01
  • 1970-01-01
  • 2021-06-25
  • 1970-01-01
相关资源
最近更新 更多