首页 > 解决方案 > 对于控制 Visual Studio 中的列表框自动滚动的类,我应该做一个额外的步骤吗?

问题描述

我正在处理 WPF 主窗口,并且正在使用列表框,并且我希望列表框在添加新数据时自动滚动。我在为这个问题选择的答案中使用了 ListBoxBehavior 类,并在我的代码中为该类添加了以下命名空间:

using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Windows;
using System.Windows.Controls;
using System.ComponentModel;

此外,在我的 XAML 中,我添加了以下内容:

<ListBox x:Name="IncomingData" FontSize="20" Grid.Column="1" Margin="10,10,10,0" Grid.Row="3" ItemsSource="{Binding SourceCollection}" lb:ListBoxBehavior.ScrollOnNewItem="true"/>

但是,我的 XAML 代码中关于该行出现以下三个错误,它们如下所示:

  1. 错误 XDG0006 未定义命名空间前缀“lb”。
  2. Windows Presentation Foundation (WPF) 项目不支持错误 XDG0008 ListBoxBehavior。
  3. 错误 XLS0415 在类型“ListBoxBehavior”中找不到可附加属性“ScrollOnNewItem”。

我尝试在 ListBoxBehavior 类中创建一个 ListBox 类型的对象ListBox lb = new ListBox();,但这并没有改变这种情况。另外,ScrollOnNewItem类中已经存在,为什么不识别它呢?有没有我应该做的缺失步骤?任何帮助深表感谢!

标签: c#wpfvisual-studioxaml

解决方案


您需要在使用之前定义 lb 命名空间。

在您的 xaml 文件的顶部,您应该看到 xmlns:x="..."。请注意,您将它与 x:Name 一起使用。

lb 也是如此。您需要定义 xmlns:lb="..."。智能感知应该帮助您填写“...”。

注意 xmlns 表示 xml 命名空间。

那应该清除所有3个错误。


推荐阅读