如何在 WPF 中的 DataTemplate 中查找 TextBox 的值?
How to find value of TextBox inside DataTemplate in WPF?
我在 DataTemplate
中获取 TextBox
的值时遇到了一些问题。
我的ListView
绑定了一个ObservableCollection<lstProduse>
,数据模板里面的TextBlock
绑定了lstProduse
的Denumire
属性。 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>
您有一个带有 ObservableCollection
的视图模型。您已经将 TextBlock
的 Text
属性 绑定到您的项目类型上的 Denumire
属性。只需创建另一个 属性 例如Input
为 Text
属性 的 TextBox
在你的项目类型中也绑定到它。
<TextBox Grid.Column="1" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Padding="10,0" Text="{Binding Input}"/>
然后您可以简单地在您的视图模型中遍历您的 lstProduse
集合,因为您的项目的属性是通过 TextBlock
和 TextBox
中的绑定同步的。
我在 DataTemplate
中获取 TextBox
的值时遇到了一些问题。
我的ListView
绑定了一个ObservableCollection<lstProduse>
,数据模板里面的TextBlock
绑定了lstProduse
的Denumire
属性。 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>
您有一个带有 ObservableCollection
的视图模型。您已经将 TextBlock
的 Text
属性 绑定到您的项目类型上的 Denumire
属性。只需创建另一个 属性 例如Input
为 Text
属性 的 TextBox
在你的项目类型中也绑定到它。
<TextBox Grid.Column="1" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Padding="10,0" Text="{Binding Input}"/>
然后您可以简单地在您的视图模型中遍历您的 lstProduse
集合,因为您的项目的属性是通过 TextBlock
和 TextBox
中的绑定同步的。