ItemTemplate 中 DataContext 的访问属性

编程入门 行业动态 更新时间:2024-10-27 03:26:36
本文介绍了ItemTemplate 中 DataContext 的访问属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时送ChatGPT账号..

我的数据上下文有两个属性:Items 是一个集合,DetailsVisiblityVisiblity 类型的 enum.

My datacontext has two properties: Items which is a collection and DetailsVisiblity which is enum of type Visiblity.

在页面上,我有一个带有 ItemsSource="{Binding Entries}"Listbox.在 DataTemplate 中,我可以将东西绑定到 Items 的属性,但是如何访问 DetailsVisiblity 这是 DataContext 的属性?

On the page I have a Listbox with ItemsSource="{Binding Entries}". Inside the DataTemplate, I can bind stuff to properties of Items, but how do I get access to DetailsVisiblity which is a property of DataContext?

DataContext 有两个属性:ObservableCollection条目Visibility DetailsVisiblity.Item 类有两个属性:Title 和 Details.

DataContext has two properties: ObservableCollection<Item> Entries, and Visibility DetailsVisiblity. Item class has two properties: Title and Details.

这是视图.如何将第二个 TextBlockVisiblity 绑定到 DetailsVisiblity 属性?

Here is the view. How do I bind Visiblity of the second TextBlock to DetailsVisiblity property?

<ListBox ItemsSource="{Binding Items}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel>
                <TextBlock Text="{Binding Title}" />
                <TextBlock Text="{Binding Details}" Visibility="{Binding ???}" />
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

推荐答案

您可以命名 ListBox,并在 Binding 中使用 ElementName 引用它,在 Path 中使用 DataContext.DetailsVisibility

You could name the ListBox and in the Binding you reference it with ElementName, and in Path you use DataContext.DetailsVisibility

<ListBox x:Name="listBox" ItemsSource="{Binding Items}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="{Binding Title}" />
                <TextBlock Text="{Binding Details}"
                           Visibility="{Binding ElementName=listBox,
                                                Path=DataContext.DetailsVisibilty}" />
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

这篇关于ItemTemplate 中 DataContext 的访问属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

更多推荐

[db:关键词]

本文发布于:2023-04-25 14:36:56,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1117483.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:属性   ItemTemplate   DataContext

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!