2010-06-01 10 views
1

안녕하세요!Treeview에서 HierarchicalDataTemplate 정보 가져 오기

:

<controls:TreeView x:Name="tvServices" ItemTemplate="{StaticResource myHierarchicalTemplate}" ItemContainerStyle="{StaticResource expandedTreeViewItemStyle}" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3" BorderBrush="#FFC1BCBC" FontFamily="Verdana" FontSize="14">      
     </controls:TreeView> 

가 나는 등 각 텍스트 상자의 유효성 검사를 할 트 리뷰의 각 텍스트 상자의 Name 속성을 알고 싶은 트 리뷰에 대한

<common:HierarchicalDataTemplate x:Key="my2ndPlusHierarchicalTemplate" ItemsSource="{Binding Children}"> 
        <StackPanel Margin="0,2,5,2" Orientation="Vertical" Grid.Column="2"> 
         <CheckBox 
         IsTabStop="False" 
         IsChecked="False" 
         Click="ItemCheckbox_Click" 
         Grid.Column="1" 
         /> 
         <TextBlock Text="{Binding Name}" FontSize="16" Foreground="#FF100101" HorizontalAlignment="Left" FontFamily="Verdana" FontWeight="Bold" /> 
         <TextBlock Text="{Binding Description}" FontFamily="Verdana" FontSize="10" HorizontalAlignment="Left" Foreground="#FFA09A9A" FontStyle="Italic" />  

<TextBox Width="100" Grid.Column="4" Height="24" LostFocus="TextBox_LostFocus" Name="tbNumber"></TextBox> 

</StackPanel> 
     </common:HierarchicalDataTemplate> 

: 나는 그런 템플릿을

private void TextBox_LostFocus(object sender, RoutedEventArgs e) 
     { 
      tbNumber.ClearValidationError(); 
      if ((!tbNumber.Text.IsZakazNumberValid()) && (tbNumber.Text != "")) 
      { 
       tbNumber.SetValidation(MyStrings.NumberError); 
       tbNumber.RaiseValidationError(); 
       isValid = false; 
      } 
      else 
      { 
       isValid = true; 
      } 
     } 

체크 박스가 표시되었는지 확인하려면

어떻게해야합니까?

답변

0

나는 왜 당신이 이름을 알아야하는지 분명하지 않다.

이 경우 LostFocus 이벤트의 sender 매개 변수는 문제의 TextBox입니다. 따라서 당신이 사용할 수 있습니다 -

TextBox tb = (TextBox)sender; 

지금 대신 tbNumber를 사용하는이 tb 변수를 사용하여 (이 실제로 존재하지 않는 때문에 템플릿에 정의).

+0

오! 대답 해 주셔서 감사합니다! it'a 정확히 내가 필요한! – lina

관련 문제