gpt4 book ai didi

c# - 如何有条件地更改数据绑定(bind) WPF ListView 的 CellTemplate 中控件的属性?

转载 作者:太空宇宙 更新时间:2023-11-03 14:37:38 24 4
gpt4 key购买 nike

好的...我是 WPF 的新手,但我知道如何使用 DataTriggers 和 Converters 做事。

但是,我想要的似乎比这复杂一点。让我给你详细信息:

ListView 控件的 DataContext 是对象的 IList (object=Room)。这些是可用的房间。我有另一个控件(假设它是一个 TextBox),它绑定(bind)到 IList 中包含的 Room 对象之一。我只想为绑定(bind)到其他控件的房间 (ListViewItem) 显示图像。

这是我的一些 XAML:

<TextBox Name="Room" />
<ListView Name="RoomsList" SelectionMode="Single">
<ListView.View>
<GridView>
<GridViewColumn Width="32">
<GridViewColumn.CellTemplate>
<DataTemplate>
<!--
Here's where I want to change the Source property
depending on whether or not the item matches the
TextBox DataContext.
-->
<Image Source="Images/Check.png" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Room Name" Width="150" HeaderContainerStyle="{StaticResource textHeaderStyle}"
DisplayMemberBinding="{Binding Path=RoomName}" />
</GridView>
</ListView.View>
</ListView>

我有点卡在这个上面了。关于如何处理这个问题有什么想法吗?

最佳答案

您可以编写一个 MultiValueConverter,它返回 Visibility 并将 DataContext 作为第一个 Converter Value,并将特定的“Room”对象作为第二个 Value(使用与 Element 绑定(bind)的 ElementName 作为“Room”)如果值匹配,则显示图像控件,即 imgControl.Visibility 绑定(bind)到转换器

关于c# - 如何有条件地更改数据绑定(bind) WPF ListView 的 CellTemplate 中控件的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/300755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com