使用依赖属性和样式触发器时,“...不是 DependencyProperty”

2024-02-21

在我的用户控件中:

public ODIF.DeviceChannel Channel
{
    get { return (ODIF.DeviceChannel)GetValue(ChannelDP); }
    set { SetValue(ChannelDP, value); }
} 

public static readonly DependencyProperty ChannelDP = DependencyProperty.Register(
    "ChannelProperty", 
    typeof(ODIF.DeviceChannel),
    typeof(ChannelBox), 
    new PropertyMetadata(new ODIF.DeviceChannel()));

然后当尝试在 XAML 中使用我的控件并绑定到Channel使用数据触发器:

<local:ChannelBox VerticalAlignment="Top" HorizontalAlignment="Left" Width="200">
    <local:ChannelBox.Resources>
        <local:TypeOfConverter x:Key="TypeOfConverter"/>
    </local:ChannelBox.Resources>
    <local:ChannelBox.Style>
        <Style TargetType="{x:Type local:ChannelBox}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding mappingConnector, Converter={StaticResource TypeOfConverter}}" Value="{x:Type ODIF:MappingConnector}">
                    <Setter Property="Channel" Value="{Binding mappingConnector.plugin}" />
                </DataTrigger>
                <DataTrigger Binding="{Binding mappingConnector, Converter={StaticResource TypeOfConverter}}" Value="{x:Type ODIF:InitialMappingConnector}">
                    <Setter Property="Channel" Value="{Binding mappingConnector.SourceChannel}" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </local:ChannelBox.Style>
</local:ChannelBox>

在 XAML 中引发以下错误:

属性“Channel”不是 DependencyProperty。用于 标记,非附加属性必须在目标类型上公开 具有可访问的实例属性“Channel”。对于附加的 属性,声明类型必须提供静态“GetChannel”和 “设置频道” 方法。

但与错误让我相信的相反(我以某种方式设置了 DP 错误),以下内容似乎工作正常:

<local:ChannelBox VerticalAlignment="Top" HorizontalAlignment="Left" Width="200" Channel="{Binding mappingConnector.plugin}">

这意味着当 DP 在 DataTrigger 中用作 Setter 属性时,它似乎仅存在问题...


尝试命名您的静态属性ChannelProperty代替ChannelDP.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用依赖属性和样式触发器时,“...不是 DependencyProperty” 的相关文章

  • 我如何理解这个 C 类型声明?

    double bar int double double double double 在查看讲座幻灯片时 我发现了留给学生的练习 用简单的英语来说 什么是类型bar在这个 C 声明中 Please帮助我解决这个问题 我什至不知道从哪里开始
  • 我如何在 C# .NET(win7 手机)中使用“DataContractJsonSerializer”读入“嵌套”Json 文件?

    我有一个问题 如果我的 json 文件看起来像这样 Numbers 45387 Words 空间桶 我可以很好地阅读它 但是如果它看起来像这样 Main Numbers 45387 Words 空间桶 某事 数字 12345 单词 克兰斯基
  • 防止 boost::asio::io_context 在空轮询调用时停止

    此代码调用发布的句柄 boost asio io context ioc boost asio post ioc std cout lt lt lol lt lt std endl ioc poll 而这并没有 boost asio io
  • 根据 N 个值中最小的一个返回不同的结果

    不确定如何使标题更具描述性 所以我只是从一个例子开始 我使用下面的代码位 它从枚举中选择一个方向 具体取决于四个轴中哪一个与给定方向相比形成最小角度 static Direction VectorToDirection Vector2 di
  • 指向特征矩阵的指针数组

    我在代码中使用 Eigen 的 MatrixXd 矩阵 在某个时刻我需要一个 3D 矩阵 由于 Eigen 没有三维矩阵类型 因为它仅针对线性代数进行了优化 因此我创建了一个 MatrixXd 类型的指针数组 Eigen MatrixXd
  • 找不到 assimp-vc140-mt.dll ASSIMP

    我已经从以下位置下载了 Assimp 项目http assimp sourceforge net main downloads html http assimp sourceforge net main downloads html Ass
  • fprintf() 线程安全吗?

    我正在为野人就餐问题的某些变量编写一个 C 解决方案 现在 我创建线程 每个线程都将 FILE 获取到同一个调试文件 在线程内我正在使用 fprintf 进行一些打印 打印的语句不受任何类型的互斥锁等保护 我没有在调试文件中观察到任何交错行
  • 检查 RoutedEvent 是否有任何处理程序

    我有一个自定义 Button 类 当单击它时 打开特定窗口 它总是执行相同的操作 我添加了一个可以在按钮的 XAML 中分配的 Click 事件 就像常规按钮一样 当它被单击时 我想执行 Click 事件处理程序 如果已分配 否则我想执行默
  • 每个租户的唯一用户名和电子邮件

    我正在使用以下代码编写多租户应用程序ASP NET Core 2 1 我想覆盖默认的与用户创建相关的验证机制 目前我无法创建多个具有相同的用户UserName My ApplicationUser模型有一个名为TenantID 我想要实现的
  • 如何在c的case语句中使用省略号?

    CASE expr no commas ELLIPSIS expr no commas 我在c的语法规则中看到了这样的规则 但是当我尝试重现它时 int test float i switch i case 1 3 printf hi 它失
  • 在 EnvDTE 中调试时捕获 VS 局部变量

    是否可以使用 EnvDTE 进行 vsix Visual Studio 扩展来捕获本地和调试窗口使用的调试数据 或者可以通过其他方法吗 我想创建一个自定义的本地窗口 我们可以修改它以根据需要显示一些较重的内容 而无需为高级用户牺牲原始的本地
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat
  • 我可以让 ungetc 取消阻止阻塞的 fgetc 调用吗?

    我想在收到 SIGUSR1 后使用 ungetc 将 A 字符重新填充到标准输入中 想象一下我有充分的理由这样做 调用 foo 时 stdin 中的阻塞读取不会被收到信号时的 ungetc 调用中断 虽然我没想到它会按原样工作 但我想知道是
  • 了解使用 Windows 本机 WPF 客户端进行 ADFS 登录

    我已经阅读了大量有关 ADFS 与 NodeJS Angular 或其他前端 Web 框架集成以及一般流程如何工作的文献 并通过 Auth0 Angular 起始代码构建了概念证明 但我不明白如何这可以与本机 WPF Windows 应用程
  • 跨多个域的 ASP.NET 会话

    是否有合适的 NET 解决方案来在多个域上提供持久服务器会话 即 如果该网站的用户在 www site1 com 下登录 他们也将在 www site2 com 下登录 安全是我们正在开发的程序的一个问题 Thanks 它是否需要在会话中
  • 每个数据库多个/单个 *.edmx 文件

    我有一个通过 ADO net 数据服务与数据库交互的项目 数据库很大 近 150 个具有依赖关系的表 该项目几年前开始 当时使用的是数据集 现在我们正在转向实体模型关系 由于我们添加了更多需要使用的表 该模型正在不断增长 这是管理这一切的正
  • 带有命令绑定的 KeyBinding 不适用于 TextBox UpdateSourceTrigger LostFocus

    我正在使用 MVVM 并遇到以下问题 我的 TextBox Text 与 UpdateSourceTrigger LostFocus 绑定 这就是用户想要的 我有一个带有 SaveCommand CommandBinding 的按钮 这有效
  • 将 char[][] 转换为 char** 会导致段错误吗?

    好吧 我的 C 有点生疏了 但我想我应该用 C 来做我的下一个 小 项目 这样我就可以对其进行抛光 并且我已经有不到 20 行的段错误了 这是我的完整代码 define ROWS 4 define COLS 4 char main map
  • ASP.NET Core MVC 视图组件搜索路径

    在此处的文档中 https learn microsoft com en us aspnet core mvc views view components view aspnetcore 2 2 https learn microsoft
  • 从 JavaScript 中的 OnClientClick 事件中阻止 C# 中的 asp:Button OnClick 事件?

    我有一个asp Button在我的网页上 它调用 JavaScript 函数和代码隐藏方法 后者进行调用以导航到另一个页面 在 JavaScript 函数中 我正在检查条件 如果不满足这个条件 我想中止导航 以便OnClick方法未被调用

随机推荐

  • 用 Latex 代码替换字符串向量中的重音符号

    Define df lt data frame name c M xico Michoac n dat c 1 2 s t gt df name dat 1 M xico 1 2 Michoac n 2 当我将此表打印到 tex文件使用xt
  • 为什么我们必须在 onClick 方法中添加“View”作为参数以及它的作用是什么?

    我正在 Android Studio 中的按钮上设置事件监听器 用于更改按钮内的文本TextView到了这一点 我们定义了OnClick方法 在其参数列表中要求View目的 谁能解释一下它的作用吗 我无法理解对象在哪里View类将会习惯 它
  • AppCompatActivity 的 TextView 颜色始终为白色

    a 的文字颜色TextView在 Marshmallow 之前的设备上始终为白色 即使我在 XML 中使用黄色或黑色 除了棉花糖之外 它始终是白色的 在运行时 它将在所有设备上正常工作 以前 当我使用 Eclipse 时 一切正常 但在 A
  • 图片上传/接收API

    我想在我的网站上提供一个简单的 API 允许人们向其上传图像 并接收 URL 来访问它 但我有几个问题 如果用户必须以二进制代码发送图像会更好 还是如果用户必须以 idk ASCII 等方式发送图像会更好 常规方式是什么 我这么问是因为我可
  • 使用ajax加载以编程方式扩展jstree中的节点

    我有一棵用 jstree 制作的树 它部分加载 并在扩展节点时通过 json data 插件加载 这是代码的关键 TreeViewDiv jstree json data ajax url Website GetNodes data fun
  • 安装 SDK 后如何配置 Android 模拟器

    我正在尝试在我的 64 位 Ubuntu 12 04 发行版上启动并运行 Android 模拟器 首先 我必须安装 ia32 libs 来解决我在之前 失败的 尝试中遇到的一些早期问题 然后我下载并安装了 64 位 Linux 发行版 我导
  • Mongoose:如何防止 mongodb 在数据库中保存重复的电子邮件记录

    我想让关键电子邮件在该集合中唯一 但我无法使其正常工作 这是我的服务器代码 Create a schema var userSchema new mongoose Schema email type String required true
  • 如何制作一个 HTML/JS 所见即所得编辑器? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我尝试了许多不同的 Google 搜索 但一直无法找到有关如何实际创建所见即所得编辑器的最新教程 2006 年以后 我意识到已经有很多
  • 赋值运算符是否“需要”返回?

    根据C 标准 我可以确定内置变量的赋值运算符返回 原始值 吗 或者这个实现依赖于 但只是最流行的编译器实现了这个 是的 可以保证 5 17 赋值和复合赋值运算符 赋值运算符 和复合赋值运算符全部分组 右到左 全部都需要一个可修改的左值作为其
  • Smalltalk 中的 self 和 self 有什么区别?

    在 Smalltalk 中 方法体中经常出现两个术语 self and yourself 它们之间有什么区别 保留字self是一个伪变量 不能分配给它 它引用使用它的方法的当前接收者 另一方面yourself是一条消息 您可以发送给任何对象
  • 如何在Linux下构建Visual Studio解决方案?

    我一直使用 Windows 对 Linux 的经验非常有限 我的 Visual Studio 解决方案包含 5 个 C 项目 其中 4 个是静态库 一个是主应用程序 使用这些静态库 我想将其移动到 Ubuntu 我不使用任何特定于 Wind
  • Google Colab 中的 osmNX

    出于我的目的 我需要 Google Colab 中的 osmNX 以前有人这样做过吗 我使用以下命令 wget https repo anaconda com archive Anaconda3 2019 07 Linux x86 64 s
  • 如何导出 .xlsx 文件 C# ASP.NET MVC razor

    我想将数据导出到 xlsx文件 但我似乎只能导出到 xls 导出文件最简单的方法是什么 xlsx file 这是我用来导出到的代码 xls file GridView gv new GridView gv DataSource listCa
  • Windows Mobile 应用程序 - 通过 MMS 协议播放流?

    NOTE 这个问题被重新提出是因为我在上一个问题中不小心点击了社区维基 显然这并没有以声誉的形式提供足够的激励来让人们回答这个问题 这是旧问题的链接 请不要重复这些答案 无论如何它们并不完全有帮助 链接到原始问题 https stackov
  • 将分支合并到目录 GIT

    我有一个名为Project 然后我有一个名为payment其中包含应用程序的所有项目文件 我想合并分支payment进入我的主分支 但在文件夹 目录内 换句话说 项目分支 gt 支付申请 文件夹 gt 支付分支文件 第一次 git chec
  • C++ 中嵌套类型/类的前向声明

    我最近陷入了这样的情况 class A public typedef struct class B C D someField class C public typedef struct class D A B someField 通常你可
  • 使用 anaconda python3 安装 opencv 3.1?

    如何使用 anaconda python3 安装 opencv opencv 获取了我的 python3 可执行文件 Python 2 Interpreter usr bin python2 7 ver 2 7 12 Libraries u
  • Vue Router 推送错误:避免了到当前位置的冗余导航

    有没有办法避免错误 避免冗余导航到当前位置 我需要进行分页 方法如下 handlePageChange page number void const query this route query page page toString thi
  • ActiveJob GlobalID 和内存中 ActiveRecord 对象

    我正在使用排队系统 Sidekiq 并且希望迁移到 ActiveJob 以获得性能优势 因为不必每次将 ActiveRecord 对象传递给工作人员时都查询数据库 我想询问并确认 因为我不是 100 确定 但我的理解是 当 ActiveJo
  • 使用依赖属性和样式触发器时,“...不是 DependencyProperty”

    在我的用户控件中 public ODIF DeviceChannel Channel get return ODIF DeviceChannel GetValue ChannelDP set SetValue ChannelDP value