从DataTemplate(WPF)中的文本框中获取值

时间:2014-06-05 16:29:47

标签: c# wpf textbox datatemplate

我刚刚为ListBox创建了一个datatemplate:

 <ListBox Height="150" MinHeight="100" HorizontalAlignment="Left" Name="myListBox"           
                 VerticalAlignment="Top" Width="290" 
                 ItemsSource="{Binding}" SelectionMode="Multiple" Margin="0,18,0,0">
                            <ListBox.ItemTemplate>
                                <DataTemplate>
                                    <StackPanel Orientation="Vertical" >
                                        <StackPanel Orientation="Horizontal">
                                            <CheckBox Name="cbLista" Width="100"  Content="{Binding Path=Nom_estudio}"  IsChecked="{Binding IsChecked, Mode=TwoWay}" 
                                                  Checked="cbLista_Checked" />
                                            <TextBox Name="txbCantidad" Width="100" Margin="0,0,0,5" TextChanged="txbCantidad_TextChanged" />
                                        </StackPanel>

                                    </StackPanel>
                                </DataTemplate>
                            </ListBox.ItemTemplate>
                        </ListBox>

现在我可以在复选框中选中每个对象,但是如何获取每个复选框所关联的texbox的文本属性?

2 个答案:

答案 0 :(得分:1)

将TextBox的“Text”属性绑定到数据对象上的某个属性(比如MyTextProperty)。然后,当您获得“SelectedItems”列表时,您只需访问此属性。

即:

<TextBox Text="{Binding MyTextProperty}" ... />

答案 1 :(得分:1)

在您的班级中创建具有Nom_estudioIsChecked属性的更多媒体资源。然后将该属性绑定到TextBox.Text属性

        <StackPanel Orientation="Horizontal">
                <CheckBox Name="cbLista" Width="100"  Content="{Binding Path=Nom_estudio}"  IsChecked="{Binding IsChecked, Mode=TwoWay}" 
                                              Checked="cbLista_Checked" />
                 <TextBox Name="txbCantidad" Text="{Binding MYTEXTPROPERTY}" Width="100" Margin="0,0,0,5" TextChanged="txbCantidad_TextChanged" />
                                    </StackPanel>