当前位置: 首页 > 知识库问答 >
问题:

从xaml中的视图模型引用对象

岳英耀
2023-03-14

我想从我的视图模型中添加一个对象到树视图,但我不想使用树视图项。

有没有办法做这样的事?

<TreeView>
    <SomeTag Object="{Binding MyViewModel.MyObject}/>
</TreeView>

问题是我试图绑定到一个非同质数据结构

ClassA
   ClassB
       ClassC (Collection)
          ClassD
          ClassD
          ...

我不想要类a的节点
为类B添加了一个带有静态标题文本的TreeViewItem
为ClassC添加了一个TreeViewItem,其中包含静态标题文本,将ItemsSource绑定到ClassC,并将DisplayMemberPath绑定到Name属性

绑定另一个控件ro TreeView。选择编辑项。如果单击ClassB或ClassC项目,则SelectedItem是一个TreeView项目。如果单击ClassD项,SelectedItem就是我的对象。

如果试图坚持得到我的对象。

共有2个答案

梁丘琛
2023-03-14

您可以像这样绑定treevieItem的属性:

<TreeView>
    <TreeView.Resources>
        <Style TargetType="TreeViewItem">
            <Setter Property="Tag" Value="{Binding RelativeSource={RelativeSource Ancestortype={x:Type TreeView}},Path=DataContext.anyobjectofViewmodel}"/>
        </Style>
    </TreeView.Resources>
............
............
</TreeView>
宦琪
2023-03-14

您可以使用标记属性。

<TreeView Tag="{Binding MyObject}" >
</TreeView>
 类似资料:
  • 使用C#MVC4 我的观点: 我的模特: 但是,我不断地得到错误: 当我尝试调试它时,它甚至没有进入方法或我的模型。

  • 我试图为我的应用程序实现一个搜索过滤器,但我不知道如何去做。我在这里看到一个问题,但这只会让我更加困惑。这是我目前所做的:我在我的主活动中这样调用片段类 主类活动 RecycleView位于JobsFragment: 完整的StackTrace

  • 问题内容: 我正在设计一个最适合我的用途,而不是使用成熟的PHP MVC。我已经完成了基本框架,并编写了运行网站所需的模型和控制器。 现在,我进入“视图”,遇到了一个小难题。我的方法对我来说很好,但是为了将来参考,我想知道我在做什么是否有不好的习惯。 我正在尝试做的是: 在我的视图中,我正在调用一个运行身份验证系统的模型,并请求用户的登录状态。然后,我使用该布尔值来决定是否在视图中显示某些元素,以

  • 本文向大家介绍wpf 视图模型,包括了wpf 视图模型的使用技巧和注意事项,需要的朋友参考一下 示例 视图模型是MV VM中的“ VM” 。这是一个充当中介的类,将暴露model(s)给用户界面(视图),并处理来自视图的请求,例如单击按钮引发的命令。这是一个基本的视图模型: 构造函数创建一个Customer模型对象,并将其分配给CustomerToEdit属性,以使视图可见。 构造函数还创建一个R

  • 8.4.2 模型与视图 复杂应用程序经常可以分解成两个部分:核心逻辑和用户界面。程序的核心逻辑部分称 为模型(model),它负责为应用问题建模,管理应用问题的数据和行为,并对来自用户界面 的数据请求或数据更新指令进行响应。程序的用户界面部分称为视图(view),它负责显示模 型的当前数据状态,响应用户的交互动作。模型和视图是相互独立的,可以分开设计和测试, 从而简化程序结构、降低设计难度,这称为

  • 我正在使用更新动作栏中的标题 共享视图模型 主要活动观察者 使用下面的代码似乎会在< code>Fragment中创建新的实例(在调试器中检查): 但似乎是这样的 文章参考 这是应该这样做还是我做错了什么? 谢谢你!