2017-10-02 4 views
0

Ich habe eine ComboBox und TextBox in einem Listview-Bindung, wie ich die SelectedValue Bindung könnte meinen Code in Text,:Wie eine ComboBox SelectedValue Eigenschaft TextBox Text-Eigenschaft innerhalb Listview WPF

<GridViewColumn Width="130"> 
    <GridViewColumnHeader Content="Caracteristica" /> 
     <GridViewColumn.CellTemplate> 
      <DataTemplate> 
       <Grid> 
        <ComboBox x:Name="cmbCaracteristica" Width="100" /> 
       </Grid> 
      </DataTemplate> 
     </GridViewColumn.CellTemplate> 
    </GridViewColumn> 
    <GridViewColumn Width="100"> 
     <GridViewColumnHeader Content="Tipo" /> 
      <GridViewColumn.CellTemplate> 
       <DataTemplate> 
        <Grid> 
         <TextBox x:Name="txtTipoValor" Text="{Binding Path=SelectedValue, ElementName=cmbCaracteristica, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" TextAlignment="Left"/> 
        </Grid> 
       </DataTemplate> 
      </GridViewColumn.CellTemplate> 
     </GridViewColumn> 

Dies funktioniert nicht. PD: Die ItemSource der ComboBox wird in C# geladen.

Antwort

0

Bind die SelectedItem Eigenschaft des ComboBox auf eine Eigenschaft des Typs T in Ihrem IEnumerable<T>ItemsSource, und dann binden die TextBox der gleichen Quelle Eigenschaft:

<GridViewColumn Width="130"> 
    <GridViewColumnHeader Content="Caracteristica" /> 
    <GridViewColumn.CellTemplate> 
     <DataTemplate> 
      <Grid> 
       <ComboBox x:Name="cmbCaracteristica" Width="100" 
         SelectedItem="{Binding SelectedItem}" /> 
      </Grid> 
     </DataTemplate> 
    </GridViewColumn.CellTemplate> 
</GridViewColumn> 
<GridViewColumn Width="100"> 
    <GridViewColumnHeader Content="Tipo" /> 
    <GridViewColumn.CellTemplate> 
     <DataTemplate> 
      <Grid> 
       <TextBox x:Name="txtTipoValor" 
         Text="{Binding Path=SelectedItem, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" TextAlignment="Left"/> 
      </Grid> 
     </DataTemplate> 
    </GridViewColumn.CellTemplate> 
</GridViewColumn> 

Vergewissern Sie sich, dass der Typ T implementiert die INotifyPropertyChanged Schnittstelle.

Sie können kein Element in einem CellTemplate an ein Element in einem anderen CellTemplate unter Verwendung von ElementName binden.

+0

Danke, das funktioniert. :) – Ed1085

+0

Gern geschehen, aber bitte denken Sie daran, die hilfreichen Antworten abzustimmen: https://stackoverflow.com/help/someone-answers – mm8

0

Haben Sie versucht DisplayMemberPath Eigenschaft? Funktioniert für mich in der gleichen Situation.

Funktioniert für ausgewählte Artikel aus MainList, können Sie das gleiche für Textbox.

Verwandte Themen