【发布时间】:2013-05-21 05:59:48
【问题描述】:
我正在开发一个小型 WPF 应用程序,主要包括在其他人 ObservableCollection<> 中显示 ObservableCollection<>,等等。
这是我的应用程序的代码示例:
<Listbox Name="MainList" ItemsSource={Binding}>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Textblock Text={Binding MainName} />
<Button>Add item</Button>
<Button>Delete item</Button>
<Listbox Name="ChildList" ItemsSource="{Binding Path=ChildItem}">
<ListBox.ItemTemplate>
<DataTemplate>
<Textblock Text={Binding ChildName} />
</DataTemplate>
</ListBox.ItemTemplate>
</Listbox>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</Listbox>
在视觉上它几乎看起来像这样:
编辑:
我会重新解释我想要做什么。
每当我单击
Button A或Button B时,我都想选择它们所在的MainListListBoxItem(即:A Item)-
当我第二次点击
Button B时:- 我想确保在
ChildList(图片中的第二个列表框)中选择了ListBoxItem - 如果是这样,我想在代码隐藏中将其删除。
- 我想确保在
但我的主要问题是,由于所有内容都是由我的绑定生成的,因此到目前为止,我无法从我的ChildList 中获取一个元素,因为ChildList 在我的任何MainList ListBoxItem 中都存在重复。
【问题讨论】:
-
你必须使用
DataTemplate吗?A item或B item可以是UserControl。这样一来,应该会容易很多。 -
当
Button被点击时,你想选择MainItemListBoxItem容器,给它焦点还是两者都选择? -
@NicolasVoron 到目前为止,我的整个代码都使用 DataTemplates 来绑定我不同的 ObservableCollection
。所以我真的很想坚持下去。 -
@dkozl 单击两个按钮中的任何一个时,我想选择包含它们的 MainItem ListBoxItem。
标签: c# wpf xaml data-binding listboxitem