【问题标题】:Silverlight 4 Bind selected items' (more than one) properties to a textboxSilverlight 4 将选定项目的(多个)属性绑定到文本框
【发布时间】:2011-09-08 18:21:05
【问题描述】:

我有一个编辑器,用户从 SL4 的列表框中选择一张照片,并在列表旁边的面板中编辑标题、描述、标签等值。文本框有Binding 是列表框SelectedItem 的适当属性的XAML,它工作得很好。但是,我希望能够同时选择多张照片,并为每张照片设置标签。我不知道问题的确切名称,但我试图解释一下,它是任何软件中非常基本的功能,选择多个项目并编辑一个属性,它将为所有这些项目进行编辑。如果属性不同,文本框将显示(multiple values),如果我不触摸该字段,这些字段不会发生任何事情。这在 XAML 中可能吗?我很确定在 SL 版本 4 发布之前,微软的人会想出一个聪明的解决方案来解决这个多选问题。如果是,如何(请尽可能使用基于 XAML 和绑定的声明,否则一切都很容易搞砸)。如果没有明确的方法,那么最干净/最佳的做法是什么?

【问题讨论】:

    标签: silverlight xaml data-binding silverlight-4.0 multiple-instances


    【解决方案1】:

    您可以使用ListBox.SelectedItems 来枚举和更改所选列表中每个项目的属性。 ListBox 应该有 SelectionMode as Multiple

    这不是将多个项目属性绑定到文本框的正确方法,因为我们不知道当这些项目具有不同值时要显示什么,并且最好有 ListBox,并且它的所有属性都绑定到一个集合及其属性

    【讨论】:

    • 好的,那我该怎么做呢?我当前的代码有一个ImageOption 控件,里面有适当的绑定。它有一个Photo 属性,它采用我的自定义类PhotoSummary 并将内部元素绑定到它的属性。我有<my:ImageOption Photo="{Binding ElementName=CurrentPhotos, Path=SelectedItem}" />,其中CurrentPhotos 是我的ListBox。这对于从列表中选择一张照片非常有效,我将如何实施您的解决方案。 (请提供代码示例)
    • @can poyrazoğlu:您可以创建instancePhotoSummary PS 并将Photo 绑定到PSOnSelectionChangedListBox 您可以更新@987654337 @。在PS 上有一个PropertyChanged 事件,当您想要的属性发生更改时,您将更新CurrentPhotos.SelectedItems 中所有项目的属性。您可以根据自己的情况考虑这些方面
    • 好吧,如果没有内置的更简单的机制,我想我会这样做。
    猜你喜欢
    • 1970-01-01
    • 2011-05-17
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    • 2018-06-24
    相关资源
    最近更新 更多