在数据重新加载时保存 WPF TreeView 状态

2023-11-24

我正在使用 TreeView 在 UI 中显示我的数据。现在,我的应用程序每 5 秒刷新一次,以便显示最新的数据。有没有办法即使在窗口重新加载后也可以保存树视图的展开状态或折叠状态?因为如果我有大量数据并且需要超过 5 秒才能转到所需数据,则 TreeView 在每 5 秒刷新一次窗口后就会崩溃,我必须从头开始。

      <TreeView ItemsSource="{Binding Sections}" Grid.Row="1"
          ItemTemplate="{StaticResource sectionTemplate}" >

        <TreeView.Resources> 
          <Style TargetType="TreeViewItem"> 
            <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
          </Style> 
        </TreeView.Resources> 

    </TreeView>

public ObservableCollection<MyViewModel> =new ObservableCollection<MyViewModel>();

public bool IsExpanded
    {
      get { return (bool)GetValue(IsExpandedProperty); }
      set { SetValue(IsExpandedProperty, value); }
    }
    public static readonly DependencyProperty IsExpandedProperty = DependencyProperty.Register("IsExpanded", typeof(bool), typeof(MyViewModel));


 if (result.TotalResults > 0)
      {
        foreach (DomainObject obj in result.ResultSet)
        {
          AT myAT= (AT)obj;
          arrdep.Add(myAT);
        }
      }

我通过向 TreeView 绑定到的对象添加 IsExpanded 和 IsSelected 属性解决了这个问题

<Style TargetType="{x:Type TreeViewItem}">
    <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
    <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
</Style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在数据重新加载时保存 WPF TreeView 状态 的相关文章

  • 未提供参数时如何指定 C# System.Commandline 行为?

    在我的控制台应用程序中 当未提供控制台参数时 将执行我指定列表 在本例中为参数 3 的任何处理程序 调用该处理程序时 布尔参数设置为 false 但对我来说 根本不调用它更有意义 如何防止这种情况发生并显示帮助文本 using System
  • 如何在c++中读取pcap文件来获取数据包信息?

    我想用 C 编写一个程序来读取 pcap 文件并获取数据包的信息 例如 len sourc ip flags 等 现在我找到了如下代码 我认为它会帮助我获取信息 但是我有一些疑问 首先我想知道应该将哪个库添加到我的程序中 然后什么是 pca
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • 在 LINQ 中按 Id 连接多表和分组

    我想按categoryId显示列表产品的名称组 这是我的代码 我想要我的视图显示结果 Desktop PC HP Red PC Dell Yellow PC Asus Red SmartPhone Lumia 720 Blue 我的组模型
  • 使用 LINQ2SQL 在 ASP.NET MVC 中的各种模型存储库之间共享数据上下文

    我的应用程序中有 2 个存储库 每个存储库都有自己的数据上下文对象 最终结果是我尝试将从一个存储库检索到的对象附加到从另一个存储库检索到的对象 这会导致异常 Use 构造函数注入将 DataContext 注入每个存储库 public cl
  • 单个对象的 Monogame XNA 变换矩阵?

    我读过一些解释 XNA Monogame 变换矩阵的教程 问题是这些矩阵应用于 SpriteBatch Begin matrix 这意味着所有 Draw 代码都将被转换 如何将变换矩阵应用于单个可绘制对象 就我而言 我想转换滚动背景 使其自
  • 为什么 Google 测试会出现段错误?

    我是 Google Test 的新手 正在尝试提供的示例 我的问题是 当我引入失败并设置GTEST BREAK ON FAILURE 1 或使用命令行选项 GTest 将出现段错误 我正在考虑这个例子 https code google c
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se
  • 如何在 Xaml 文本中添加电子邮件链接?

    我在 Windows Phone 8 应用程序中有一些大文本 我希望其中有电子邮件链接 例如 mailto 功能 这是代码的一部分
  • WPF - 关闭 App.g.cs 中 Main 的自动生成

    我正在学习WPF 我想在 App xaml cs 中提供我自己的 Main 方法 而不是在 App g cs 中为我生成一个方法 然而 我不断遇到冲突 因为我还没有找到如何阻止生成额外的 Main 我的项目文件或其他地方是否有控制此设置的设
  • Azure 辅助角色“请求输入之一超出范围”的内部异常。

    我在辅助角色中调用 CloudTableClient CreateTableIfNotExist 方法 但收到一个异常 其中包含 请求输入之一超出范围 的内部异常 我做了一些研究 发现这是由于将表命名为非法表名引起的 但是 我尝试为我的表命
  • C# HashSet 只读解决方法

    这是示例代码 static class Store private static List
  • AES 128 CBC 蒙特卡罗测试

    我正在 AES 128 CBC 上执行 MCT 如中所述http csrc nist gov groups STM cavp documents aes AESAVS pdf http csrc nist gov groups STM ca
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 为什么 gcc 抱怨“错误:模板参数 '0' 的类型 'intT' 取决于模板参数”?

    我的编译器是gcc 4 9 0 以下代码无法编译 template
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 按 Esc 按键关闭 Ajax Modal 弹出窗口

    我已经使用 Ajax 显示了一个面板弹出窗口 我要做的是当用户按 Esc 键时关闭该窗口 这可能吗 如果有人知道这一点或以前做过这一点 请帮助我 Thanks 通过以下链接 您可以通过按退出按钮轻松关闭窗口 http www codepro
  • 调用堆栈中的“外部代码”是什么意思?

    我在 Visual Studio 中调用一个方法 并尝试通过检查调用堆栈来调试它 其中一些行标记为 外部代码 这到底是什么意思 方法来自 dll已被处决 外部代码 意味着该dll没有可用的调试信息 你能做的就是在Call Stack窗口中单
  • System.IO.FileNotFoundException:找不到网络路径。在 Windows 7 上使用 DirectoryEntry 对象时出现异常

    我正在尝试使用 DirectoryEntry 对象连接到远程 Windows 7 计算机 这是我的代码 DirectoryEntry obDirEntry new DirectoryEntry WinNT hostName hostName

随机推荐

  • 从非托管 C++ 应用程序调用 C# dll,无需 COM

    有没有办法在不使用 COM 的情况下从 C 非托管应用程序调用 C DLL 您可以使用以下方法执行此操作Reverse P Invoke 示例和讨论here
  • ReSharper 6.1 是否可以与 Visual Studio 2012 配合使用?

    Resharper 6 1 支持 Visual Studio 2012 吗 我可以在 VS2010 上使用它 但想知道我是否需要升级到 ReSharper 7 0 以获得 VS2012 的支持 如果我这么做的话 我会很失望 捷脑公司承认虽然
  • bootstrap 3 到 bootstrap 4 列不再水平对齐[重复]

    这个问题在这里已经有答案了 我正在迁移到 bootstrap 4 但是我已将页面的 bootstrap min css 从 3 交换到 4 并且我的列现在全部垂直对齐 据我所知 列是正确的 我还使用 JS 小提琴进行测试 并且能够将它们全部
  • 对模板中的对象进行排序

    让这些模型 class Category models Model name models CharField max length 20 class Word models Model name models CharField max
  • R 使用 XML 数据时出现“externalptr”错误

    我正在 R 中处理一些 XML 数据 并遇到了有关 externalptr 类型的错误 1 当我尝试使用 xmlInternalTreeParse 函数 XML 包的一部分 时 出现以下错误 doc xmlInternalTreeParse
  • Magento:以编程方式添加新产品

    我正在尝试以编程方式将产品添加到 Magento 1 5 我的脚本最终将是一个 cron 作业 按照帐户系统提供的 XML 文件的指示定期更新和添加产品 我在创造新产品时遇到问题 我的脚本中的相关代码段是 attributeSetId 4
  • 将数组写入范围。只获取数组的第一个值

    我正在尝试将数组写入一个范围 并且尝试了多种方法 但无论如何 我总是一遍又一遍地只获得数组的第一个值 这是代码 Option Explicit Sub test ActiveWorkbook Worksheets Sheet1 Cells
  • 密集和稀疏矩阵的高效(时间和空间复杂度)数据结构

    我必须读取一个文件 其中存储了一个包含汽车的矩阵 1 蓝色汽车 2 红色汽车 0 空车 我需要编写一个算法来移动汽车矩阵的这种方式 蓝色的会动downward 红色的移动向右 有一个turn其中所有蓝色的都移动 然后轮流移动所有红色的 在读
  • Python:找到最小元素的最后一个索引?

    例如 1 2 3 4 1 2 具有最小元素 1 但它最后一次出现在索引 4 处 gt gt gt values 1 2 3 4 1 2 gt gt gt min x i for i x in enumerate values 1 4 无需修
  • 使用 OR 运算符检查变量值

    因此 我团队中的一位初级程序员今天编写了以下代码 if status incomplete unknown 这显然不会达到他的预期 即 if status incomplete status unknown 但我无法解释的是为什么第一段代码
  • 具有单一方法的类——最好的方法?

    假设我有一个旨在执行单个功能的类 执行完该功能后 就可以将其销毁 有什么理由选择其中一种方法吗 Initialize arguments in constructor MyClass myObject new MyClass arg1 ar
  • 在存档中安装 R 包

    如何在 Windows 中安装存档的软件包 http cran r project org src contrib Archive 当我尝试安装从存档下载的 tar gz 时 出现以下错误 Error in gzfile file r ca
  • Firestore 安全规则中的递归通配符未按预期工作

    我有一个像这样的数据结构 收藏 and 文件而不是JSON当然 但你明白了 users user1 name Alice groups groupA subbed true groupB subbed true user2 name Bob
  • Valums 文件上传器在 Internet Explorer 9 下不起作用

    Values 文件上传器 现在称为精美上传者 在 Internet Explorer 9 下不起作用 但在 Chrome 下工作得很好 因此 在 IE 下 它会显示文件名和取消按钮 并且不会显示上传百分比 有什么线索吗 更新 解决方案也在这
  • 从网络中的另一台机器 Ping Docker 容器

    我创建了一个 docker 容器 并尝试在容器的 bash 中 ping www google com 并且它有效 我还尝试从主机 ping 容器 它工作得很好 但是 当我尝试从网络中的外部系统 ping 容器时 它给了我一个请求超时异常
  • CakePHP 从数据库中查询最近的纬度经度

    在 CakePHP v3 应用程序中 如何根据传递的 lat lng 值检索最接近的结果 我想让它们恢复为原生 CakePHP 实体 所以像这样 public function closest lat lng sightings recor
  • 我应该将时区与 Postgres 和 JDBC 的时间戳分开存储吗?

    看起来 也许我是错的 如果你想保留 JDBC 和 Postgres 发生问题时的时区 你需要将时区与时间戳分开存储 也就是说我更愿意给我的 ORM JDBC JPA 一个 JavaCalendar 或乔达DataTime 与说时区Ameri
  • 动态创建的文本框的 JavaScript 验证

    在表单中 通过单击 添加 按钮动态创建文本框 以便在新行中创建文本框 现在我的问题是动态创建的文本框的验证 以便如果有任何文本框 它会显示一条消息单击 提交 按钮提交表单时留空 请帮助我 EDIT
  • Python Plotly - 对齐散点图和条形图的 Y 轴

    我正在尝试使用散点图和图形元素创建一个绘图图 一切都很顺利 但有一个问题 两个 Y 轴没有围绕 0 对齐 我尝试过使用不同的属性 例如 mirror 和tick0 我也尝试遵循plotly网站上的示例 但它主要是具有相同图形类型的多个y轴
  • 在数据重新加载时保存 WPF TreeView 状态

    我正在使用 TreeView 在 UI 中显示我的数据 现在 我的应用程序每 5 秒刷新一次 以便显示最新的数据 有没有办法即使在窗口重新加载后也可以保存树视图的展开状态或折叠状态 因为如果我有大量数据并且需要超过 5 秒才能转到所需数据