【问题标题】:WPF ListBox: how to update data with bindingWPF ListBox:如何使用绑定更新数据
【发布时间】:2010-01-18 11:46:34
【问题描述】:

我有一个显示对象列表信息的列表框:

            <ListBox Grid.Column="0" Height="152" Name="CustomersList" HorizontalAlignment="Stretch">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Path=Name, Mode=OneWay}"/>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

我会在另一个块中显示有关选定项目的更多详细信息,但我不知道(也找不到)如何将选定项目绑定到这些块数据上下文。我想应该是这样的:

                <Grid Grid.Column="1" DataContext="{Binding Path=ItemSelected, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Top">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="150"/>
                    <ColumnDefinition Width="250"/>
                </Grid.ColumnDefinitions>

                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition/>
                    <RowDefinition/>
                </Grid.RowDefinitions>

                <TextBlock Grid.Row="0" Grid.Column="0" Text="Id" VerticalAlignment="Center" />
                <TextBox Grid.Row="0" Grid.Column="1" Text="{Binding Path=Id}" VerticalAlignment="Center"/>

                <TextBlock Grid.Row="1" Grid.Column="0" Text="Name" VerticalAlignment="Center"/>
                <TextBox Grid.Row="1" Grid.Column="1" Text="{Binding Path=Name}" VerticalAlignment="Center"/>

                <StackPanel Grid.Row="2" Grid.ColumnSpan="2" Orientation="Horizontal" HorizontalAlignment="Center">
                    <Button Content="Add new" />
                    <Button Content="Store changes" />
                </StackPanel>
            </Grid>

但问题是要绑定到网格的数据项没有在任何地方指定,我不知道该怎么做。

欢迎提出任何建议。

谢谢!

附:我尝试将 CustomersList.ItemsSource 指定为 Grid 的 DataContext - 这没有给出任何结果。

【问题讨论】:

    标签: wpf data-binding listbox


    【解决方案1】:

    您可以绑定到 ListBox 的 SelectedItem 属性,一种方法是使用 ElementName。

    <Grid DataContext="{Binding ElementName=CustomersList, Path=SelectedItem}"> </Grid>
    

    【讨论】:

      猜你喜欢
      • 2011-10-06
      • 1970-01-01
      • 2010-09-20
      • 2014-04-28
      • 2014-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多