WPF 绑定到控件模板上的非依赖属性

发布于 2024-10-20 19:07:13 字数 284 浏览 1 评论 0原文

我正在创建一个 WPF 自定义控件作为自动学习练习。我的控件在模板内有一个 ListView。我希望我的控制用户能够在他自己的 Xaml 中定义所需的列,但由于与 FindAncestor 绑定抱怨“Columns”不是 DependencyProperty,所​​以我没有获得有关如何将列传递到内部列表视图的策略。 Wekk 的问题是:

  1. 当它不是 DP 时,如何实现将 xaml 属性绑定到模板
  2. 纠正我的设计:我认为有问题:如果有人完全更改我的模板,我应该如何让他使用 Column 集合?

I'm creating a WPF custom control as an auto learning exercise. My control has a ListView inside the template. I wanto my control user be able on defining the needed columns in his own Xaml, but I did not get the strategy on how to pass the columns to the inner listview since binding with FindAncestor complain that "Columns" is not a DependencyProperty.
Wekk the questions are:

  1. How to achieve bind a property from xaml to the template when it is not a DP
  2. Correct my design: I think there is something wrong: if someone would change completely my template, how should I let him use the Column collection ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

横笛休吹塞上声 2024-10-27 19:07:13

为什么不直接继承ListView呢?然后您就拥有了 ListView 所需的所有属性,并且还可以将您自己的属性添加到类中。

然后,您可以将自定义样式应用到您的控件,使其看起来像您想要的那样。 (这里您有一个基本的 ListView 样式,您可以使用它并将其扩展为您的需求)

why not inherit from ListView directly? Then you have all the properties you need for the ListView and can also add you own properties to the class.

Then you can apply a custom Style to your control to make it look like you want. (Here you have a basic ListView Style that you can use and expand to your needs)

天冷不及心凉 2024-10-27 19:07:13

Sometimes binding to a property that is not a dependency property can be solved using the Binding Mode OneWayToSource

Have you tried that?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文