c# wpf binding combobox textblock

c# - Vincule los elementos del cuadro combinado con la fuente de datos



wpf binding (2)

Tengo un cuadro combinado que aloja un elemento secundario textblock. Quiero vincular el bloque de texto dentro del cuadro combinado a una propiedad llamada ResultList. Probé el código a continuación, pero no funciona. ¿Qué me he perdido?

<ComboBox x:Name="Test" HorizontalAlignment="Left" Margin="79,42,0,0" VerticalAlignment="Top" Width="344" IsEditable="True"> <ComboBox.Resources> <system:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">0</system:Double> </ComboBox.Resources> <ComboBox.ItemContainerStyle> <Style TargetType="{x:Type ComboBoxItem}" > <Setter Property="Background" Value="#FFFFFF"/> <Setter Property="BorderThickness" Value="0" /> </Style> </ComboBox.ItemContainerStyle> <ComboBox.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Path=ResultList, Mode=OneWay}" DataContext="{Binding Path=ResultList, Mode=OneWay}" /> </DataTemplate> </ComboBox.ItemTemplate> </ComboBox>


Entonces, para resumir todos los comentarios:

ItemsSource vincular la lista a ItemsSource de comboBox .

<ComboBox x:Name="Test" ItemsSrouce="{Binding ResultList}" ....>

Y configure TextBlock en ItemTemplate a algo como:

<TextBlock Text="{Binding Path=Age}" ..../> <TextBlock Text="{Binding Path=Name}" ..../>


No puede establecer las propiedades DataContext y Text en el mismo valor:

"{Binding Path=ResultList, Mode=OneWay}"

Puedes intentar esto:

<TextBlock Text="{Binding, Mode=OneWay}" DataContext="{Binding Path=ResultList}" />

Pero esto podría ser mejor:

<TextBlock Text="{Binding Path=ResultList, Mode=OneWay}" />

Por supuesto, es difícil responder cuando no ha proporcionado toda la información necesaria, como lo que se ha preguntado en los comentarios.