【问题标题】:Listbox of comboboxes and binding them WPF组合框的列表框并绑定它们 WPF
【发布时间】:2011-02-19 01:21:32
【问题描述】:

我有一个组合框列表框,主要是绑定到桥实体,因此对象包含外键。我需要做的是,我需要将组合的显示绑定到各个实体,并将它们的值成员绑定到我将列表框绑定到的桥实体中的外键值。

我现在的代码是:

<ListBox Name="lstServices" ScrollViewer.HorizontalScrollBarVisibility="Disabled" HorizontalContentAlignment="Stretch">
                     <ListBox.ItemTemplate>
                        <DataTemplate>
                            <Grid Margin="2" DataContext="{Binding ElementName=wndMain,Path=DataContext}">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="*"/>
                                    <ColumnDefinition Width="*"/>
                                </Grid.ColumnDefinitions>

                                <ComboBox Name="cmbService" SelectedIndex="0" DisplayMemberPath="Name"  SelectedValuePath="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=FK_ServiceID}" ItemsSource="{Binding Path=AllServices}" Grid.Column="0"></ComboBox>
                                <ComboBox Name="cmbService_Role" Margin="2,0,0,0" SelectedValuePath="{Binding Path=FK_ServiceRoleID}" DisplayMemberPath="Name" ItemsSource="{Binding Path=AllService_Roles}" Grid.Column="1"></ComboBox>
                            </Grid>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>

我可以设法显示我需要的值,但由于列表项上下文已更改,我无法访问列表框 itemSource。

任何帮助表示赞赏 小鱼

【问题讨论】:

    标签: c# wpf wpf-controls


    【解决方案1】:

    我知道了 :D ,应该是这样的

    <ListBox Name="lstServices" ScrollViewer.HorizontalScrollBarVisibility="Disabled" HorizontalContentAlignment="Stretch" ItemsSource="{Binding MemberServices}">
                        <ListBox.ItemTemplate>
                            <DataTemplate>
                                <Grid >
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="*" />
                                        <ColumnDefinition Width="*" />
                                    </Grid.ColumnDefinitions>
                                    <ComboBox Name="cmbService" SelectedValue="{Binding FK_ServiceID,Mode=TwoWay}" ItemsSource="{Binding ElementName=wndMain, Path=DataContext.AllServices,Mode=OneTime}"  SelectedValuePath="ID" DisplayMemberPath="Name"  Grid.Column="0" ></ComboBox>
                                    <ComboBox Name="cmbService_Role" SelectedValue="{Binding FK_ServiceRoleID,Mode=TwoWay}" ItemsSource="{Binding ElementName=wndMain, Path=DataContext.AllService_Roles,Mode=OneTime}"  SelectedValuePath="ID" DisplayMemberPath="Name"  Grid.Column="1" Margin="2,0,0,0"></ComboBox>
                                </Grid>
                            </DataTemplate>
                        </ListBox.ItemTemplate>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-18
      • 2011-03-09
      相关资源
      最近更新 更多