c# - 在第 2 个 ItemsControl 中选择相同项目时突出显示第 1 个 ItemsControl 中的项目,并在文本框中显示该选定项目
问题描述
我在主窗口类中有一个字符串列表,两个 ItemsControl 绑定到同一个列表和 SelectedItem 依赖属性。
我做了什么,我将 Button itemtemplate 用于第二个 ItemsControl,并且在 Button Click 事件中,我能够获取所选按钮的值,然后将其传递给 SelectedItem 属性,并将 SelectedItem 属性绑定到文本框。
我现在要做的是在第一个 ItemsContol 中突出显示相同的项目,并且还想要向后选择。
注意:只需要使用纯 ItemsControl。不允许使用 ListBox 等其他控件。我也被要求对我不理解的 SelectedItem 使用 ItemsControl 类后代。
谢谢。
解决方案
由于您指的是SelectedItem
我假设您使用的是Selector
派生控件,而不是纯ItemsControl
.
在这种情况下,一个简单的解决方案是在两个控件上都设置Selector.IsSynchronizedWithCurrentItem
为并将 绑定到任一属性(或绑定到 的公共绑定源属性):True
TextBox
SelectedItem
SelectedItem
<StackPanel>
<TextBox Text="{Binding ElementName=ListBox, Path=SelectedItem}" />
<ListBox x:Name="ListBox"
IsSynchronizedWithCurrentItem="True" />
<ListBox IsSynchronizedWithCurrentItem="True" />
</StackPanel>
推荐阅读
- database - 任何用于 Flutter 的持久性 NoSQL 数据存储?
- javascript - 处理多个数据时反应 native-redux 出错
- ibm-cloud - IBM Cloud 在中国可用吗?
- elasticsearch - 如何找到 inner_hits 计数为 N 的文档?
- installation - Anypoint Studio 问题
- python - 如何通过 Pandas 格式化工作表中的所有日期?
- python - 使用 CSV 中的 dict 格式化数据框
- php - 用php和mysql求和json数量
- java - 龙目岛自定义 SuperBuilder
- maven - 为什么 Jenkins 在 IE 测试后终止 JVM?