【问题标题】:WPF Binding - Self Binding with its own DataContextWPF 绑定 - 使用自己的 DataContext 进行自我绑定
【发布时间】:2014-07-20 10:07:20
【问题描述】:

任何人都遇到了将相同的DataContext 绑定到 TextBlock 中的 Text 属性(例如)的情况。

我必须分配 DataContext 以根据我的风格中的 Datacontext 中的数据值反映一些触发器。同时,在对IValueConverter/IMultivalueConverter 应用一些转换后,我需要绑定相同的 DataContext 对象以获取 Text 属性。

据我所知{Binding},只需绑定当前数据上下文即可。但是在同样的场景下如何使用转换器呢? 任何建议将不胜感激。

    <TextBlock Style="{StaticResource DataEntryTextBlock1}" Grid.Row="1"
               DataContext="{Binding MyField1}"
               Text="{Binding MyField1, Converter={StaticResource myConverter}}">
    </TextBlock>

此 XAML 脚本不起作用,因为文本绑定正在尝试在 MyField1 中查找 MyField1 变量。

谢谢, 维诺德

【问题讨论】:

  • DataContext="{Binding MyField1}" 意味着您已经在更高的元素上设置了 DataContext。例如,如果您在 上设置上下文,则子元素可以知道它,而不必在每个子元素中再次指定它。

标签: wpf xaml binding


【解决方案1】:

{Binding} 等同于 {Binding Path=.} 所以在你的情况下你可以使用

Text="{Binding Path=., Converter={StaticResource myConverter}}"

MSDN 上的Binding.Path

(可选)句点 (.) 路径可用于绑定到当前源。例如,Text="{Binding}" 等价于 Text="{Binding Path=.}"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    • 2015-11-04
    • 2012-11-05
    • 2021-07-19
    • 2016-03-10
    • 2012-12-26
    相关资源
    最近更新 更多