Привязать список текстовых полей внутри списка в wpf
-
21-12-2019 - |
Вопрос
Мне нужно создать список с текстовым полем в нем...и оно должно быть динамичным.У меня есть наблюдаемая коллекция в коде, и я хочу связать ее со списком.Мне нужен динамический список, и в этом списке должно быть редактируемое текстовое поле.Итак, в основном я хочу связать текстовое поле 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>
Сделав это, у меня есть количество текстовых полей, такое же, как и элементы в наблюдаемой коллекции, но текст текстового поля не настроен.
Решение
Вам придется связать ваше текстовое поле к недвижимости в вашем классе, какую наблюдаемую коллекцию вы связали
<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
просто простые string
s, то вы можете привязать данные ко всему строковому значению следующим образом:
<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>