WPF - 使用数据绑定来绑定项目列表框和详细文本框

时间:2009-01-08 10:05:15

标签: wpf data-binding

我正在尝试设置数据绑定,如标题中所述。

我遇到的问题是绑定到通用列表。

那里有任何例子。

我不能在通用列表上使用BindingListCollectionView,所以必须使用 的CollectionView。

我很困惑的问题是添加一个新项目 点击添加按钮我添加了一个新项目 通用列表并刷新视图。但如果用户 不遵循列表现在已空 项目

我知道这是基本的但是如何正常处理?

马尔科姆

1 个答案:

答案 0 :(得分:3)

我在这里看到两个问题,我会尝试逐步回答。

具有详细视图的项目的绑定列表

鉴于这些ViewModel类(想象每个人都实现INotifyPRopertyChanged):

public class DataView {
    public Item SelectedItem {get; set; }
    public List<Item> Items { get; private set; }
}

public class Item {
    public string Title { get; set; }
}

Data个实例放入DataContext,最小的视图可能如下所示:

<StackPanel>
    <ListView Items="{Binding Items}" SelectedItem="{Binding SelectedItem}" />
    <TextBox Text="{Binding SelectedItem.SelectedItem.Title}" />
</StackPanel>

添加新项目

为了能够创建新的Item而不立即将其添加到列表中,您可能希望将新创建的对象拆分为其自己的区域。在视觉上,您可以将其添加到新的弹出窗口中或集成到列表中,但实际上它只会添加到 next 的列表中,尝试添加或确认父对话框。此时,您还可以验证Item是否足以将其添加到列表中。