首页 > 其他分享 >WPF-ContextMenu模板绑定数据失败;

WPF-ContextMenu模板绑定数据失败;

时间:2023-01-10 11:47:21浏览次数:45  
标签:set string ContextMenu get System using WPF public 模板

一、原代码:

  XAML:

            <TreeView x:Name="trvwProjectList"  Margin="0,0,0,0" VerticalAlignment="Stretch" VerticalContentAlignment="Stretch" BorderBrush="DarkGray" BorderThickness="0.7">
                <TreeView.Resources>
                    <HierarchicalDataTemplate DataType="{x:Type vModelLocal:Project_TreeNodes}" ItemsSource="{Binding ChildNodes}">
                        <!-- MouseRightButtonDown="ProjectListMenu_MouseRightButtonDown" -->
                        <StackPanel Orientation="Horizontal" Tag="{Binding NodeName}" MouseLeftButtonDown="ProjectListMenu_MouseLeftButtonDown" VerticalAlignment="Stretch" Margin="0">
                            <Label Content="{Binding NodeName}" Tag="{Binding NodeID}" ToolTip="{Binding NodeDescribe}" Background="White" Style="{DynamicResource LabelStyle1}" BorderThickness="0" VerticalContentAlignment="Top">
                                <!-- 右键菜单 -->
                                <Label.ContextMenu>
                                    <ContextMenu StaysOpen="true" ItemsSource="{Binding Path = Menus}"/>
                                </Label.ContextMenu>
                            </Label>
                        </StackPanel>
                    </HierarchicalDataTemplate>
                </TreeView.Resources>
            </TreeView>

  C#:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;

namespace ProjectViewModel
{
    /// <summary>
    /// Tree列表
    /// </summary>
    public class Project_TreeNodes
    {
        /// <summary>
        /// 节点Id
        /// </summary>
        public int NodeID { get; set; }
        /// <summary>
        /// 节点名
        /// </summary>
        public string NodeName { get; set; } = string.Empty;

        /// <summary>
        /// 节点描述
        /// </summary>
        public string NodeDescribe { get; set; } = string.Empty;

        /// <summary>
        /// 父节点Id
        /// </summary>
        public int ParentID { get; set; }

        /// <summary>
        /// 图标
        /// </summary>
        public string Img { get; set; };

        /// <summary>
        /// 右键菜单
        /// </summary>
        public ContextMenu Menus=new();

        /// <summary>
        /// 子元素
        /// </summary>
        public List<Project_TreeNodes> ChildNodes { get; set; } = new();
    }
    
    public 页面代码(){
          trvwProjectList.ItemsSource = new Project_TreeNodes(){...};
    }
}

  错误信息:“在类型为 Project_TreeNodes 的对象上找不到 Menus 属性。 ”

 

二、分析:

1、原因:

  

2、修改:

  

 

标签:set,string,ContextMenu,get,System,using,WPF,public,模板
From: https://www.cnblogs.com/qq2806933146xiaobai/p/17039678.html

相关文章

  • WPF-右键菜单ContextMenu
    示例:<ButtonMargin="10,10,0,0"VerticalAlignment="Top"HorizontalAlignment="Left"Content="按钮_具有右键菜单"><Button.ContextMenu>......
  • 设置 PyCharm 新建 *.py 文件模板
    1、打开偏好设置  2、设置.py文件模板   效果如下:    可用的预设文件模板变量如下:${PROJECT_NAME}-当前项目的名称。${NAME}-在文件创建......
  • WPF 已知问题 dotnet 6 设置 InvariantGlobalization 之后将丢失默认绑定转换导致 XAM
    在设置了InvariantGlobalization为true之后,将会发现原本能正常工作的XAML可能就会抛出异常。本文将告诉大家此问题的原因这是有开发者在WPF仓库上给我报告的bug......
  • Django模板控制结构(for/forloop/if)
    for语法:{%for%}  {%endfor%} 视图 模板 结果forloopforloop.counter和forloop.revcounter后面带0代表从第0次开始循环,不带代表......
  • 模板语法
    模板语法<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>模板语法</title><scriptsrc="../js/vue.js"></script></head><body>......
  • 跨屏建站网发布kpcom企业专属响应式模板
    跨屏建站网发布企业专属响应式模板kpcom,这是一套针对企业而专门制定的一套响应式网站模板,包含了公司介绍、公司新闻、公司产品、联系我们等企业网站标配的栏目,它几乎适用于......
  • 【跨屏建站网】kpvip模板2023.1.6发布更新
    跨屏建站网kpvip模板2023.1.6发布更新,修复了已知bug,优化了代码,调整了新闻版块,之前的新闻缩略图有图的时候会显示图片,没有图片则显示一张占位图,而调整以后,我们去掉了缩略图......
  • 二叉树递归模板总结
    101.对称二叉树boolisQ(TreeNode*root1,TreeNode*root2){if(root1==nullptr&&root2==nullptr){returntrue;}elseif(roo......
  • Create WPF Application With F# And FsXaml
    CreateWPFApplicationWithF#AndFsXamlInthisarticle,IwillshowyouhowtostartaWPF(Windowsapplication)withF#byusingatypeofprovidercalled......
  • JWT&token--模板
    packagecom.example.demo.util;importio.jsonwebtoken.Claims;importio.jsonwebtoken.Jwts;importio.jsonwebtoken.SignatureAlgorithm;importjava.util.Date;......