【问题标题】:Silverlight 3 Binding to the Current Item in a CollectionSilverlight 3 绑定到集合中的当前项
【发布时间】:2011-02-04 03:39:27
【问题描述】:

绑定语法 {Binding /} 在 WPF 中有效,但在 Silverlight 3 中根本无效:

<ContentControl Content="{Binding MyCollection}">
    <ContentControl.ContentTemplate>
        <DataTemplate>
            <ContentControl Content="{Binding /}" />
        </DataTemplate>
    </ContentControl.ContentTemplate>
</ContentControl>

在 Silverlight 中解决此问题的方法是什么?

【问题讨论】:

    标签: wpf silverlight binding silverlight-4.0 silverlight-3.0


    【解决方案1】:

    当绑定到 WPF 中的集合时,您实际上是绑定到理解“当前项”概念的东西。

    但是,在 Silverlight 中,您绑定的内容没有这个概念。所以你需要自己做。

    例如,在 MVVM 应用中公开一个属性。

    <ListBox SelectedItem="{Binding MyCurrentItem}" 
             ItemsSource="{Binding MyCollection}"/>
    <ContentControl Content="{Binding MyCurrentItem}" />
    

    或者做一些元素绑定

    <ListBox x:Name="listBox" 
             ItemsSource="{Binding MyCollection}"/>
    <ContentControl Content="{Binding SelectedItem, ElementName=listBox}" />
    

    【讨论】:

      【解决方案2】:

      我想你想要{Binding}{Binding .},两者都做同样的事情。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-02-04
        • 2011-01-02
        • 2012-06-14
        • 2011-04-07
        • 1970-01-01
        • 1970-01-01
        • 2011-02-17
        相关资源
        最近更新 更多