Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# wpf绑定到selectedItem_C#_Wpf - Fatal编程技术网

C# wpf绑定到selectedItem

C# wpf绑定到selectedItem,c#,wpf,C#,Wpf,在我的示例中,我从列表框绑定到selectedItem。我想知道如何在堆栈面板中设置绑定,这样就不必单独绑定到每个控件 我可以只绑定堆栈面板,然后子控件像这样绑定吗 代码 <StackPanel Grid.Column="2" Content="{Binding SelectedItem.Name, ElementName=ItemList}"/> <TextBox Text="{Binding Name, UpdateSourceTrigger=PropertyC

在我的示例中,我从列表框绑定到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>

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

简单地说

根据需要在StackPanel内部;)