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.

¿Fue útil?

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 strings, 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 a Text="{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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top