如何在ListBox itemsSource中访问TextBox,这是Datatemplate?

时间:2017-06-05 09:25:26

标签: c# wpf xaml listbox datatemplate

我有2,其update commande set periode = (floor(month(datecreation)/4) + 1 ); ListBox ItemsSource相关联。其模板与ComboBox相关联。一切都很好,但如何访问SelectedItem内的每个DataTemplate。我在每个TextBox内有5个标签和2个ListBoxItems。我想访问TextBoxes内的每个ListItem和标签。我需要知道如何访问每个项目中的每个TextBox。例如,第一个ListBoxItem中有“wbprofileDesc”TextBox。所以我需要访问这个TextBox并为它写一些功能,如keypress事件。它需要单独为ListBoxItem内的每个TextBox工作。假设有5 TextBox。此外,我还需要获取其他控件,如wbselect(ListBoxItems),wbdepth,wbwidthvalue等。我正在使用MVVM模型。

ListBoxItems

1 个答案:

答案 0 :(得分:1)

以下是您可以在事件处理程序中的DataTemplate中找到控件的示例:

private void wbprofileDesc_GotFocus(object sender, RoutedEventArgs e)
{
    TextBox wbprofileDesc = sender as TextBox;
    Grid parentGrid = wbprofileDesc.Parent as Grid;

    ComboBox wbselect = parentGrid.Children.OfType<ComboBox>().FirstOrDefault(x => x.Name == "wbselect");
    Label wbwidthvalue = parentGrid.Children.OfType<Label>().FirstOrDefault(x => x.Name == "wbwidthvalue");
}