直接在DataContext中指定当前项

本文关键字:DataContext | 更新日期: 2023-09-27 18:23:51

这似乎是一个很标准的问题,但我似乎找不到任何答案。如何绑定到数据上下文中的当前对象(即this)。

举一个简化的例子:

<ListView ItemsSource="{Binding ListOfFoos}">
    <ListView.View>
        <GridView>
            <!-- How do I specify a Foo item directly here 
                 and not just one of its properties? -->
            <GridViewColumn DisplayMemberBinding="{Binding this}"/>
        </GridView>
    </ListView.View>
</ListView>

我试过this.,但都没有用。显然,有一个简单的破解方法,只需在Foo类ala中创建一个伪属性:

public Foo Self { get { return this;  } }

这就允许我只使用{Binding Self},但我相信一定有更好的方法来实现这一点。

直接在DataContext中指定当前项

我们可以将nothing放在当前DataContext:

Bar="{Binding}"

或者,如果要使用.,请将其作为Binding:的Path属性的值

Bar="{Binding Path=.}"