【问题标题】:wpf binding to selectedItemwpf 绑定到 selectedItem
【发布时间】:2016-01-05 17:56:15
【问题描述】:

在我的示例中,我将绑定到 ListBox 中的 selectedItem。我想知道如何在堆栈面板中设置绑定,这样我就不必单独绑定到每个控件。

我可以只绑定堆栈面板,然后像这样绑定子控件吗(伪代码)

<StackPanel Grid.Column="2" Content="{Binding SelectedItem.Name, ElementName=ItemList}"/>
    <TextBox Text="{Binding Name, UpdateSourceTrigger=PropertyChanged}"/>
    <TextBox Text="{Binding Kids, UpdateSourceTrigger=PropertyChanged}"/>
    <TextBox Text="{Binding Age, UpdateSourceTrigger=PropertyChanged}"/>
</StackPanel>

代码

<ListBox Grid.Column="0" 
                 x:Name="ItemList"
                 Background="AliceBlue" 
                 ItemsSource="{Binding VNodes}" 
                 SelectedItem="{Binding SelectedVNode, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <WrapPanel>
                        <TextBlock Text="Name: " />
                        <TextBlock Text="{Binding Name}" FontWeight="Bold" />
                    </WrapPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

        <GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" />

        <StackPanel Grid.Column="2">
            <TextBox Text="{Binding SelectedItem.Name, ElementName=ItemList, UpdateSourceTrigger=PropertyChanged}"/>
            <TextBox Text="{Binding SelectedItem.Kids, ElementName=ItemList, UpdateSourceTrigger=PropertyChanged}"/>
            <TextBox Text="{Binding SelectedItem.Age, ElementName=ItemList, UpdateSourceTrigger=PropertyChanged}"/>
        </StackPanel>

【问题讨论】:

    标签: c# wpf


    【解决方案1】:

    在 WPF 中,每个 Item 都有一个用于 Bindings 的 DataContext,您可以将 Stackpanel 的 DataContext 设置为 {Binding ElementName=ItemList, Path=SelectedItem},

    简单地说 &lt;TextBox Text="{Binding Age, UpdateSourceTrigger=PropertyChanged}"/&gt;

    在 StackPanel 内如您所愿;)

    【讨论】:

      猜你喜欢
      • 2010-10-24
      • 2011-01-02
      • 2011-11-01
      • 2015-08-04
      • 2015-06-28
      • 1970-01-01
      • 2021-10-18
      • 2014-01-09
      • 2011-02-01
      相关资源
      最近更新 更多