Se unen cuadro de texto de la lista dentro de listbox en wpf
-
21-12-2019 - |
Pregunta
Tengo que hacer listbox con cuadro de texto en...y tiene que ser dinámica.He colección observable en el código detrás y me quería obligar a que para listbox.Quiero dinámica listbox y esta lista debe tener editable cuadro de texto en él.Así que, básicamente, quiero enlazar multiplr cuadro de texto de un cuadro de lista.Cualquier ayuda se agradece
<ListBox HorizontalAlignment="Left" Name="ListTwo" Height="100" Margin="286.769,165.499,0,0" VerticalAlignment="Top" Width="100" ItemsSource="{Binding Source=obs}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBox Name="TextBoxList"></TextBox>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Al hacer esto, tengo el número de la caja de texto misma como elementos observables de la colección, pero textbox del texto no está configurado.
Solución
Tendrá que enlazar su cuadro de texto a la propiedad en su clase de la cual la recopilación observable ha límite
<ListBox HorizontalAlignment="Left" Name="ListTwo" Height="100" Margin="286.769,165.499,0,0" VerticalAlignment="Top" Width="100" ItemsSource="{Binding Source=obs}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBox Binding="{Binding PROPERTYINCLASS}"></TextBox>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Otros consejos
Si los artículos en su ObservableCollection
son simplemente string
s, entonces usted puede enlazar datos a toda la cadena de valor como este:
<ListBox Name="ListTwo" ItemsSource="{Binding Source=obs}" ... >
<ListBox.ItemTemplate>
<DataTemplate>
<TextBox Name="TextBoxList" Text="{Binding}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
A partir de la Binding.Path
La propiedad la página de MSDN:
Opcionalmente, un punto (.) ruta de acceso puede utilizarse para enlazar a la fuente de corriente.Por ejemplo,
Text="{Binding}"
es equivalente aText="{Binding Path=.}"
.
Tenga en cuenta que si había algunos objetos con propiedades en la colección, @nit de la respuesta habría sido correcto que se necesita para hacer referencia a la correspondiente nombre de la propiedad:
<ListBox Name="ListTwo" ItemsSource="{Binding Source=obs}" ... >
<ListBox.ItemTemplate>
<DataTemplate>
<TextBox Name="TextBoxList" Text="{Binding PropertyName}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>