Привязать список текстовых полей внутри списка в wpf

Я должен сделать список с текстовым полем в нем... и он должен быть динамичным. У меня есть заметная коллекция в коде, и я хочу связать это для списка. Я хочу динамический список, и этот список должен иметь редактируемое текстовое поле. Итак, в основном я хочу связать текстовое поле multiplr из списка. Любая помощь будет оценена

<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>

Делая это, я получаю количество текстовых полей, таких же, как элементы в наблюдаемой коллекции, но текст текстового поля не настраивается.

2 ответа

Решение

Вы должны будете привязать свое текстовое поле к свойству в вашем классе, к какой наблюдаемой коллекции вы привязали

<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>

Если предметы в вашем ObservableCollection просто strings, то вы можете связать данные со всем строковым значением следующим образом:

<ListBox Name="ListTwo" ItemsSource="{Binding Source=obs}" ... >
    <ListBox.ItemTemplate>
        <DataTemplate>
            <TextBox Name="TextBoxList" Text="{Binding}" />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

От Binding.PathСтраница свойств на MSDN:

При желании можно использовать точку (.) Для привязки к текущему источнику. Например, Text="{Binding}" эквивалентно Text="{Binding Path=.}",

Обратите внимание, что если у вас есть несколько объектов со свойствами в коллекции, то ответ @nit будет правильным, так как вам нужно будет ссылаться на соответствующее имя свойства:

<ListBox Name="ListTwo" ItemsSource="{Binding Source=obs}" ... >
    <ListBox.ItemTemplate>
        <DataTemplate>
            <TextBox Name="TextBoxList" Text="{Binding PropertyName}" />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>
Другие вопросы по тегам