2010-05-13 8 views
1

나는 comboboxes의 목록 상자가있는 상황에서 주로 개체가 외부 키를 포함하도록 브리지 엔터티에 바인딩합니다. 내가해야 할 일은 콤보 표시를 각 엔티티와 그 값 멤버에게 바인드해야하는 브릿지 엔티티의 외래 키 값에 바인드해야한다는 것입니다.comboboxes의 목록 상자 및 바인딩 WPF

내가 지금 가지고있는 코드는 다음과 같습니다

<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에 얻을 수있는 값을 표시하기 위해 관리 할 수 ​​있습니다.

어떤 도움이 Bishoy

답변

2

을 감사합니다 나는 그것을 가지고 : 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>