需要在 Treeview 中的选定项目上显示和编辑数据

Need to show and edit data, on selected item in Treeview

这里是 WPF、C#、.Net 的新手!

我正在开发一个用户界面来管理用户权限。我决定使用 Treeview, 我刚开始工作。几乎 100% 基于这个 "Load-On-Demand" 解决方案: http://www.codeproject.com/Articles/26288/Simplifying-the-WPF-TreeView-by-Using-the-ViewMode

我已经让 treeView 正常工作,但现在我需要添加一些东西来在我 select 树视图中的项目时显示和编辑数据。 我想它应该像 "regedit" 一样工作,左边是 treeView,右边是数据。

树视图中的项目不同,因此数据视图需要根据项目进行更改 selected。

我觉得我有所有的把柄,但我的技能不足无法将它们组合在一起。我试过使用 isSelected 属性。但我来了。

如果你们能告诉我我需要做什么,我可以继续阅读。 我想这个人可能有我需要的解决方案,但我想我只是不明白那里发生了什么: WPF TreeView Selected Item and showing User Controls

到目前为止我的方法是这样的:

如有任何建议和指点,我们将不胜感激:)

您可以使用 TreeView 的 SelectedItemChanged 事件 (https://msdn.microsoft.com/en-us/library/system.windows.controls.treeview.selecteditemchanged(v=vs.110).aspx) 来确定项目选择何时发生。您为每个项目显示相应用户控件的方法听起来是正确的。在 SelectedItemChanged 处理程序中,您可以检查项目的类型并显示正确的用户控件。您可以将底层项目对象的引用传递给用户控件,以便它可以填充其内部控件(文本字段、组合框等)。

我不确定你的非静态到静态错误是什么。但一般规则是静态上下文可以在非静态上下文中使用。但是,非静态上下文不能在静态上下文中使用。意思是,如果你有 2 个字段,A(静态)和 B(非静态);和 2 个方法 C()(静态)和 D()(非静态)。在方法 D() 中,您可以使用字段 A 和 B,以及调用方法 C()。但是,在方法 C() 中,您只能使用字段 A。只要您的代码遵循这些规则,就不会出现任何 static/non-static 错误。