WPF 数据绑定到接口而不是实际对象 - 可以进行强制转换吗?

2023-11-30

假设我有一个这样的界面:

public interface ISomeInterface
{
...
}

我还有几个实现这个接口的类;

public class SomeClass : ISomeInterface
{
...
}

现在我有一个 WPF 列表框,使用自定义 DataTemplate 列出了 ISomeInterface 的项目。

数据绑定引擎显然不会(我已经弄清楚)允许我绑定到接口属性 - 它认为该对象是一个 SomeClass 对象,并且仅当 SomeClass 碰巧具有可用的绑定属性时,数据才会显示非接口属性。

我如何告诉 DataTemplate 就好像每个对象都是 ISomeInterface,而不是 SomeClass 等?

Thanks!


为了绑定到显式实现的接口成员,您所需要做的就是使用括号。例如:

隐式:

{Binding Path=MyValue}

明确:

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

WPF 数据绑定到接口而不是实际对象 - 可以进行强制转换吗? 的相关文章

  • 如何进行带有偏差的浮点舍入(始终向上或向下舍入)?

    我想以偏置舍入浮动 要么总是向下 要么总是向上 代码中有一个特定的点 我需要这个 程序的其余部分应该像往常一样四舍五入到最接近的值 例如 我想四舍五入到最接近的 1 10 倍数 最接近 7 10 的浮点数约为 0 69999998807 但
  • 如何将 WPF 窗口置于前面?

    我创建了一个单实例应用程序 并且希望在用户多次启动该应用程序时激活已打开的窗口 这工作正常 但我有一个问题 如果已经打开的窗口超出了另一个应用程序窗口 我必须将其放在前面 我尝试过 window Focus 和 window Show 但它
  • 在 Xcode4 中使用 Boost

    有人设置 C Xcode4 项目来使用 Boost 吗 对于一个简单的 C 控制台应用程序 我需要在 Xcode 中设置哪些设置 Thanks 用这个来管理它 和这个
  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • ZLIB 解压缩

    我编写了一个小型应用程序 该应用程序应该解压缩以 gzip deflate 格式编码的数据 为了实现这一点 我使用 ZLIB 库 使用解压缩功能 问题是这个功能不起作用 换句话说 数据不是未压缩的 我在这里发布代码 int decompre
  • 为什么 BOOST_FOREACH 不完全等同于手工编码的?

    From 增强文档 http www boost org doc libs 1 48 0 doc html foreach html foreach introduction what is literal boost foreach li
  • 在 C# 中将位从 ulong 复制到 long

    所以看来 NET 性能计数器类型 http msdn microsoft com en us library system diagnostics performancecounter aspx有一个恼人的问题 它暴露了long对于计数器
  • 是否有与 C++11 emplace/emplace_back 函数类似的 C# 函数?

    从 C 11 开始 可以写类似的东西 include
  • 单元测试失败,异常代码为 c0000005

    我正在尝试使用本机单元测试项目在 Visual Studios 2012 中创建单元测试 这是我的测试 TEST METHOD CalculationsRoundTests int result Calculations Round 1 0
  • 两组点之间的最佳匹配

    I ve got two lists of points let s call them L1 P1 x1 y1 Pn xn yn and L2 P 1 x 1 y 1 P n x n y n 我的任务是找到它们点之间的最佳匹配 以最小化它
  • 事件日志写入错误

    很简单 我想向事件日志写入一些内容 protected override void OnStop TODO Add code here to perform any tear down necessary to stop your serv
  • 用于从字符串安全转换的辅助函数

    回到 VB6 我编写了一些函数 让我在编码时无需关心字符串的 null 和 数字的 null 和 0 等之间的区别 编码时 没有什么比添加特殊情况更能降低我的工作效率了用于处理可能导致一些不相关错误的数据的代码 9999 10000 如果我
  • “MyClass”的类型初始值设定项引发异常

    以下是我的Windows服务代码 当我调试代码时 我收到错误 异常 CSMessageUtility CSDetails 的类型初始值设定项引发异常 using System using System Collections Generic
  • 从匿名类型获取值

    我有一个方法如下 public void MyMethod object obj implement 我这样称呼它 MyMethod new myparam waoww 那么我该如何实施MyMethod 获取 myparam 值 Edit
  • C# 搜索目录中包含字符串的所有文件,然后返回该字符串

    使用用户在文本框中输入的内容 我想搜索目录中的哪个文件包含该文本 然后我想解析出信息 但我似乎找不到该字符串或至少返回信息 任何帮助将不胜感激 我当前的代码 private void btnSearchSerial Click object
  • 内核开发和 C++ [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 从我know https stackoverflow com questions 580292 what languages are windo
  • Fluent NHibernate 日期时间 UTC

    我想创建一个流畅的 nhibernate 映射来通过以下方式映射 DateTime 字段 保存时 保存 UTC 值 读取时 调整为本地时区值 实现此映射的最佳方法是什么 就我个人而言 我会将日期存储在 UTC 格式的对象中 然后在读 写时在
  • 跨项目/dll 访问 Xaml 中的资源

    是否可以从另一个项目引用存储在 ResourceDictionary 构建操作 资源 中的 Xaml 资源 我想将资产合并到主项目的资源字典中或单独访问它们 例如 项目 MyResources 包含一个名为 Assets 的文件夹 其中有一
  • 我应该在应用程序退出之前运行 Dispose 吗?

    我应该在应用程序退出之前运行 Dispose 吗 例如 我创建了许多对象 其中一些对象具有事件订阅 var myObject new MyClass myObject OnEvent OnEventHandle 例如 在我的工作中 我应该使
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C

随机推荐

  • 如何使用ThreadException?

    我尝试使用 http msdn microsoft com en us library system windows forms application threadexception aspx Y399 但当我这样做时 throw new
  • Gradle 无法检测 osDetector 插件

    我正在将 OpenSSL 用于我的 Java GRPC 项目 该项目使用 gradle 我读了文档其中提到我们应该按照本节中提到的进行安全设置link 我已将 osDetector 插件包含在 build gradle 文件中 但是当我构建
  • 单击 Viewpager Xamarin Android

    我是 Xamarin Android 开发新手 我使用以下命令创建了图像滑块浏览器 现在我想单击该 ViewPager 的图像 我该如何实现呢 我已经尝试过这个但没有成功 viewpage mview FindViewById
  • 目标无法访问,标识符解析为 null

    我正在尝试在外部服务器上运行 j2EE 项目 项目是在 NetBeans 6 7 1 中制作的 当我从那里运行它时 一切都很顺利 我在 GlassFish v3 服务器上运行它 但是当我从 asadmin 脚本运行 GlassFish 并向
  • UWP C# 禁用方向更改动画

    是否可以禁用当手机旋转发生变化 从横向变为纵向或反之亦然 时执行的 屏幕旋转 动画 你需要使用DisplayInformation AutoRotationPreferences DisplayOrientations LandscapeF
  • :remote => true 和 url_for,如何做到这一点?

    我正在尝试使整个 div 标签可点击 我尝试使用的代码如下 当我添加 remote gt true 它会抛出 Too much args 错误 2 for 1 Code div div url for 不接受 remote gt true争
  • 从脚本启动 Spring boot 应用程序

    使用普通的 spring mvn 命令 我可以从命令行启动 spring boot 应用程序并使用 Control c 终止它 不过 我已经创建了一堆服务 稍后我将对其进行 dockerize 现在它们是由 mvn 生成的普通 java j
  • JSTree 拖放问题

    我将 JSTree 与 ASP net 一起使用 为树生成的 html 看起来像 ul li a href node 1 a li li a href node 2 a li li a href node 3 a li li a href
  • 升级到 JSF 2.2 后,#{cc.clientId} 在错误的组合中进行评估

    我有一个用 JSF 2 0 PrimeFaces 3 4 编写的标签库 现在我正在尝试更新到 JSF 2 2 和 PrimeFaces 4 0 但我意识到传递给组件的属性值是在复合组件中计算的 这会导致渲染的 id 错误 enum xhtm
  • Cygwin 和 Apache Pig - 令人困惑的伪 grunt>

    我正在尝试在运行 Vista 操作系统的 Windows PC 上安装 Apache Pig 以便将其用作学习工具 我不打算在这台机器上使用 Pig 进行任何严肃的数据处理 单节点 单 JVM x local设置是我想要的 我有 Windo
  • 始终显示 JavaFX ListView 的垂直滚动条

    ListView 似乎已经有一个滚动条 我希望滚动条始终可见 原因是因为我在其上放置了一个标题 并在滚动条和标题之间的角落放置了一个按钮 如何让ListView滚动条始终显示 您可以将其放入适当大小的 JScrollPane 中 并将 JS
  • 如何在运行时更改注释/Hibernate 验证规则?

    如果有一个带有某些字段的 Java 类 我想使用 Hibernate Validator 进行验证 现在我希望我的用户能够在运行时配置进行哪些验证 例如 public class MyPojo NotEmpty String void ge
  • 我需要 iOS 设备来“存档”Xcode 项目吗?

    我是一名 iOS 开发新手 试图推出我的第一个应用程序 我在 StackOverflow 上挖掘了很长时间来寻找答案 但没有成功 有3个关键点需要牢记 我实际上并没有 iOS 设备 到目前为止我只是使用模拟器来测试该应用程序 我也有所有证书
  • 具有自动高度属性的用户控件

    我想创建将显示文本的用户控件 我需要一种在运行时调整控件大小的方法 以便它调整高度以显示所有文本 我创建了如下所示的控件 正如你所看到的 我使用以下方法绘制了图标和文本TextRenderer DrawText 不幸的是 当我调整控件大小
  • 如何 static_assert 该类型对于 c++20 中的模板非类型参数是可行的

    我有一个类型TimeDuration 现在是文字类型我可以将它用作非类型模板参数 这种用法与类型定义相距甚远 编译方面 因此如果有人修改TimeDuration这样它就不再是字面意思了 很久以后才会注意到 所以我把static assert
  • C :为一个函数参数发送不同的结构

    我有一个使用 OpenGL 绘制圆的函数 我想向它传递一个包含 x 和 y 坐标以及半径的结构 问题是同一个函数必须与 3 个不同的结构一起使用 所有结构都包含坐标 半径和绘图函数不使用的其他一些内容 有没有办法让 3 个不同的结构只有一个
  • 使 firebase 的 sendPasswordResetEmail 更安全

    在使用包含身份验证的 firebase 的网站上 我正在实现 忘记密码 功能 返回状态为sendPasswordResetEmail 如果用户提供的电子邮件没有与其关联的帐户 则为 400 如果电子邮件确实有帐户 则返回 200 这意味着攻
  • 构建 Archive 时未找到 Apple 框架

    我正在尝试使用 RealityKit 向现有应用程序添加对 AR 功能的可选支持 该应用程序可以在 iOS 10 和 iOS 13 设备上正常构建和运行 并且仅在后者中启用可选功能 但是 当我为通用 iOS 设备构建或尝试存档时 出现错误N
  • 仅对一列进行分组和求和

    所以我有一个数据框 df1 看起来如下所示 A B C 1 foo 12 California 2 foo 22 California 3 bar 8 Rhode Island 4 bar 32 Rhode Island 5 baz 15
  • WPF 数据绑定到接口而不是实际对象 - 可以进行强制转换吗?

    假设我有一个这样的界面 public interface ISomeInterface 我还有几个实现这个接口的类 public class SomeClass ISomeInterface 现在我有一个 WPF 列表框 使用自定义 Dat