带有绑定参数的 MarkupExtension

2023-11-22

我正在定制MarkupExtension其中我需要来自 XAML 的非字符串参数来构造新对象。是否可以在字段上使用非字符串参数绑定DataContext scope?

换句话说,我怎样才能做这样的事情呢?

<ListBox ItemsSource="{Binding Source={local:MyMarkupExtension {x:Type Button},IncludeMethods={Binding Source=CustomerObject.IsProblematic}}}" />

where IncludeMethods=CustomerObject.IsProblematic给我这个错误:

无法在“TypeDescriptorExtension”类型的“IncludeMethods”属性上设置绑定。 “绑定”只能在 DependencyObject 的 DependencyProperty 上设置。

谁能帮我?

thanks


“绑定”只能在 DependencyObject 的 DependencyProperty 上设置 - 这是真的。问题是MarkupExtension类不是派生自DependencyObject,这就是为什么无法对其属性设置绑定的原因。

[EDIT]

解决方法是使用价值转换器。另一种解决方法是更改​​ C# 语言以允许多重继承。顺便说一下,在 Silverlight 中MarkupExtension实施IMarkupExtension接口,所以我尝试在我的自定义扩展中实现它并从中派生DependecyObject, added DependencyProperty在那里并设置绑定到它。它不会崩溃,但绑定实际上已设置after调用 ProvideValue()。因此,即使在 Silverlight 中也没有解决方案(或者很难 - 请参阅中提供的链接)克劳斯78的回答)。在 WPF 中,MarkupExtension 不实现任何接口,因此您无法绑定到它的属性。

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

带有绑定参数的 MarkupExtension 的相关文章

  • 为什么无法将 WPFToolkit DataGrid ItemSsource 绑定到 DataTable?

    In a Telerik控制 我能够绑定DataTable直接到ItemSource 但是当我切换到 Codeplex 时WPFToolkit Datagrid
  • 将 WPF 快捷键绑定到 ViewModel 中的命令

    我有一个使用 MVVM 模式的 WPF 应用程序 将按钮连接到 VM 非常简单 因为它们实现了 ICommand 我有一个工作原理类似的上下文菜单 下一步是为上下文菜单创建快捷键 我不知道如何让快捷键调用命令 这是一个例子
  • 获取代码中的绑定结果

    我可能正在以错误的方式寻找这个 但是 有没有办法通过代码获取绑定的结果值 可能是一些显而易见的东西 但我就是找不到它 您只需致电ProvideValue的绑定方法 困难的部分是你需要通过有效的IServiceProvider到方法 编辑 实
  • 该组件没有由 uri 标识的资源

    我想创建一个通用数据网格以在我的所有视图 用户控件上使用 这是我的结构 Class Library called Core Class called ViewBase public class ViewBase UserControl pu
  • 网格内的 ContentPresenter 可见性绑定不起作用?

    我有以下网格
  • 窗口关闭后仍在调用方法

    首先我不知道这是不是一个愚蠢的问题 我有这样的场景 首先我有一个主窗口 public MainWindow InitializeComponent dt is a System Windows Threading DispatcherTim
  • 从 xaml 获取 RowIndex

    我有一个带有 DataGridTemplateColumns 的 DataGrid 在 TemplateColumn 中 我使用工作正常的 DataTrigger 它从 DataGrid 父级检索项目计数
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 如何在运行时添加到 TreeView 目录

    我有一个TreeView我想允许用户添加和删除子项目 在探索基本功能时 我使用button and a textbox添加此子项 当用户点击button a new TreeViewItem需要创建并设置为我的父项的子项TreeView与t
  • WPF - 如何从 DataGridRow 获取单元格?

    我有一个具有交替行背景颜色的数据绑定 DataGrid 我想根据单元格包含的数据对单元格进行不同的着色 我已经尝试过该线程建议的解决方案 http wpf codeplex com Thread View aspx ThreadId 511
  • 混合 MFC 和 WPF:模态对话框

    我使用 C CLI 界面层将 C WPF 对话框添加到现有的 C MFC 应用程序 我一切正常 只是我遇到了形式问题 例如 MFC 应用程序使用 ShowDialog 显示 WPF 对话框 按预期工作 该 WPF 对话框显示使用 DoMod
  • WPF ListView/Gridview 允许用户选择多个项目并将它们分组在一起

    我在 MVVM 应用程序中有一个 WPF ListView GridViwe GridView 绑定到 ViewModel 中的列表 要求是用户应该能够选择网格视图的多行 右键单击它并看到上下文菜单 将这些行组合在一起 选择后 所有这些项目
  • .NET / C# / WPF 项目的命名约定

    NET C WPF 项目广泛接受的命名约定是什么 Microsoft 有一篇关于命名约定的内容广泛的 MSDN 文章here http msdn microsoft com en us library ms229002 aspx
  • 如何在 WPF 应用程序上执行异步启动?

    我在异步等待方面相当落后 所以这可能是一个 duh 问题 我正在开发一个非常小的 UI 应用程序 它使用以下命令从系统托盘运行WPF 通知图标 http www codeproject com Articles 36468 WPF Noti
  • 如何以编程方式调用应用程序菜单?

    我有自定义样式的非矩形透明窗口
  • 是什么导致 WPF 打印机输出被光栅化?

    我在 WPF 中遇到了许多打印问题 其中正在打印的特定项目组合会突然触发打印机输出的光栅化 导致打印机输出丑陋且庞大 并可能导致打印每页需要 30 秒 我发现在控件上设置任何级别的不透明度之类的事情通常会触发此问题 我忘记了它还有什么作用
  • 包含内容的 WPF 新窗口

    我想在现有的主 Windwoe 旁边创建一个带有可滚动文本框的新窗口 我在主窗口中按下 打开新窗口 按钮 然后它应该打开一个带有可滚动文本框的新窗口 inside form2 在 WPF 中 您可以在主窗口中拖放元素 但不能在新窗口中执行此
  • 不将 ViewModel 放置在单独的程序集中有充分的理由吗?

    我正在 WPF 中使用 MVVM 模式开发一个项目 MVVM 的主要优势之一是保持业务逻辑和表示之间的清晰分离 为了测试所有内容实际上的分离程度 周末我将所有 ViewModel 模型和业务逻辑移动到一个单独的 dll 中 exe 被保留为
  • 当 AutoGenerateColumns = True 时如何重命名 DataGrid 列?

    我有一个简单的数据结构类 public class Client public String name set get public String claim number set get 我正在将其喂入DataGrid this data
  • 使用带有 prism 的 MVVM 在视图之间进行更改

    我是 WPF 新手 但根据我所读到的内容 构建应用程序的正确方法是在同一窗口上切换视图 我的意思是类似于带有菜单和显示视图的工作区的 框架 到目前为止我一直在关注这个http jesseliberty com 2011 01 06 wind

随机推荐

  • Java:如何拥有子类类型的数组?

    假设我有一个超类 Animal 和子类 Cat Dog Bird 有没有办法拥有子类类型数组而不是类实例 我可以用它来实例化每个可能的子类的实例 为了简单起见 我想要这个 Pseudo code For each possible subc
  • ASP.NET Web API POST 参数为空

    为了澄清 我已经阅读了其他问题及其答案并尝试了所有解决方案 但没有一个解决了问题 我正在本地调试将部署到 Windows Azure 云服务的代码 这是一个 ASP NET Web API 应用程序 几天前还可以运行 但现在已经不行了 我有
  • 日期列作为主键一部分的优点和缺点

    我目前正在开发一个数据库 其中需要日志来跟踪一堆不同的数据更改 诸如价格变化 项目状态变化等 为了实现这一点 我制作了不同的 日志 表来存储需要保留的数据 举一个坚实的例子 为了跟踪需要订购的零件的价格变化 我创建了一个名为的表Part P
  • _C99的Bool数据类型

    C 编程语言的 C99 标准定义了 Bool数据类型作为另一种数据类型的宏 因为该语言无法处理类型安全布尔值 Is the Bool一个宏unsigned char unsigned int或者其他一些数据类型 Bool是根据 C 标准的单
  • Flutter iOS 构建在运行 pod install 时失败

    我正在尝试制作一个flutter插件 所以我按照提供的步骤创建了一个插件https flutter dev docs development packages and plugins developing packages 当我尝试运行 i
  • 根据环境配置基本URL

    假设我们有 Angular 4 应用程序 需要位于不同环境中的不同相对根 URL 中 即 http localhost 4200 index html为了发展 http prod server com angular app index h
  • HTML/CSS 内容始终居中

    如何使页面内容居中 使其在每种类型的屏幕尺寸上居中 例如 关于寓言式的如果我调整浏览器的大小 中心内容将向左移动 直到到达浏览器窗口 有一些背景元素可以水平无限延伸 顶部的深灰色 中间的浅灰色等 我可以在我的笔记本电脑和 iMac 上打开这
  • Android:软键盘不显示

    我在 MainActivity 布局中有 2 个 EditText 如果我正常运行应用程序 第一个 EditText 会获得焦点 但软键盘不会打开 但是当我使用这个时 public class TestingActivity extends
  • 关于gzip文件上seek的使用

    我有一个大gzip文件 我想使用仅读取其中的一部分seek 关于使用seek on gzip文件 这个page says seek 位置是相对于未压缩数据的 因此 调用者甚至不需要知道数据文件是否被压缩 这是否意味着seek必须从文件开头读
  • javascript 如何在不使用警报的情况下创建验证错误消息

    我希望制作一个简单的表单验证错误消息 显示在用户名字段下 我似乎无法弄清楚
  • 从 ReadableStream 对象检索数据?

    我怎样才能从a处获取信息ReadableStream object 我正在使用 Fetch API 但文档中没有明确说明这一点 尸体正在被归还ReadableStream我只想访问此流中的属性 在浏览器开发工具的 Response 下 我似
  • OSMDroid:当用户点击地图时添加标记

    我想在用户点击地图时在地图上显示一个标记 此外 这不应该影响双击进行缩放和 或移动Mapview 我正在使用 osmdroid android 4 0 jar 看看OSMBonusPack MapEventsOverlay MapEvent
  • 命名空间“clr-namespace:CefSharp.Wpf; assembly=CefSharp.Wpf”中不存在名称 ChromiumWebBrowser

    我已经遵循了这个link实现 CefSharp 应用程序 但我在编码时卡住了MainWindow xaml Blend for VS 2015 说 命名空间 clr namespace CefSharp Wpf assembly CefSh
  • 扩展 Object.prototype JavaScript

    我不是在问这是否可以 Object prototype method function 这被视为evil几乎每个人都考虑到它搞砸了for var i in obj 真正的问题 Ignoring 不合格的浏览器 不支持的浏览器Object d
  • 如何在装饰器中使用命名参数?

    如果我有以下功能 def intercept func do something here intercept arg1 20 def whatever arg1 arg2 do something here 我希望拦截仅在以下情况下启动a
  • 如何设置从浏览器下载的文件的名称?

    我正在编写一个 Web 应用程序 除其他外 它允许用户将文件上传到我的服务器 为了防止名称冲突并组织文件 我将它们放在服务器上后对其进行重命名 通过跟踪原始文件名 我可以与文件所有者进行通信 而他们却不知道我在后端更改了文件名 也就是说 直
  • 如何使用 jQuery 更改 CKEditor 文本?

    我有一个带有 CKEditor bbCode 插件 的文本区域
  • JBoss AS 7 的部署内容在哪里

    我是 JBoss AS 7 的新手 我尝试在 JBoss AS 7 上部署我的 war 文件 看起来工作正常 我的问题是在哪里可以看到部署的内容 我希望它像 Tomcat 一样 它应该有一个探索的 war 文件夹 用于保存部署的内容 JBo
  • 用于返回计算机上 .NET Framework 版本的 PowerShell 脚本?

    返回计算机上 NET Framework 版本的 PowerShell 脚本是什么 我的第一个猜测是涉及 WMI 的东西 还有更好的吗 它应该是一行 为每次 NET 安装 在每一行 仅返回最新版本 如果您要使用注册表 则必须递归才能获取 4
  • 带有绑定参数的 MarkupExtension

    我正在定制MarkupExtension其中我需要来自 XAML 的非字符串参数来构造新对象 是否可以在字段上使用非字符串参数绑定DataContext scope 换句话说 我怎样才能做这样的事情呢