У меня возникли проблемы с получением значения TextBox
в моем DataTemplate
.
Мой ListView
привязан к ObservableCollection<lstProduse>
, а TextBlock
внутри шаблона данных привязан к свойству Denumire
объекта lstProduse
. Текст TextBox
набирается вручную.
Я хочу перебрать все элементы, чтобы получить тексты TextBox
и TextBlock
.
<ListView x:Name="lstReceta" Grid.Row="1" Grid.Column="0" ItemsSource="{Binding lstProduse}" SelectionChanged="lstReceta_SelectionChanged">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" HorizontalAlignment="Center" Text="{Binding Denumire}"/>
<TextBox Grid.Column="1" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Padding="10,0"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
1 ответ
У вас есть модель представления с ObservableCollection
. Вы уже связали свойство Text
элемента TextBlock
со свойством Denumire
для вашего типа элемента. Просто создайте другое свойство, например Input
для свойства Text
элемента TextBox
в вашем типе элемента и также привязать к нему.
<TextBox Grid.Column="1" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Padding="10,0" Text="{Binding Input}"/>
Затем вы можете просто перебрать вашу коллекцию lstProduse
в своей модели представления, поскольку свойства ваших элементов синхронизируются через привязки в TextBlock
и TextBox
.
Похожие вопросы
Новые вопросы
wpf
Windows Presentation Foundation, или WPF, является подсистемой для визуализации пользовательских интерфейсов в приложениях на основе Windows.