【问题标题】:WPF - Binding plus a tweakWPF - 绑定加上一个调整
【发布时间】:2009-11-24 23:08:23
【问题描述】:

我想知道 WPF 绑定是否有办法通过绑定设置值并对其进行调整。

例如,我将边框的宽度设置为包含它的画布:

Width="{Binding Width, ElementName=mainCanvas, Mode=Default}"

因为我正在做一个圆角的边框。边框的 Canvas.Top 和 Canvas.Left 都设置为 -5。这使得边界结束 5 太快了(实际上 10 太快了,另一边是圆角)。

有没有办法做类似的事情:

Width="{Binding Width, ElementName=mainCanvas, Mode=Default} + 5"

【问题讨论】:

    标签: wpf data-binding binding wcf-binding


    【解决方案1】:

    要么编写您自己的 IValueConverter 来执行此操作,并在绑定中指定它,要么使用一些现有的通用的,允许您将表达式直接嵌入到 XAML 中 - 例如PyBinding.

    【讨论】:

    • PyBinding 是未发布的代码。我找不到它的下载(虽然它看起来真的很有用)。
    【解决方案2】:

    创建一个 ValueConverter 是可行的。看这个视频教程:http://windowsclient.net/learn/video.aspx?v=26730

    您也可以考虑使用 Margin 属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 2010-12-05
      • 1970-01-01
      相关资源
      最近更新 更多