zoukankan      html  css  js  c++  java
  • Silverlight找到模板中的子控件

    方法

    public List<T> GetChildObjects<T>(DependencyObject obj, string name) where T : FrameworkElement
    {
      DependencyObject child = null;
      List<T> childList = new List<T>();
      for (int i = 0; i <= VisualTreeHelper.GetChildrenCount(obj) - 1; i++)
      {
        child = VisualTreeHelper.GetChild(obj, i);
        if (child is T && (((T)child).Name == name || string.IsNullOrEmpty(name)))
        {
          childList.Add((T)child);
        }
        childList.AddRange(GetChildObjects<T>(child, ""));//指定集合的元素添加到List队尾
      }
      return childList;
    }

    private void cbName1_Click(object sender, RoutedEventArgs e)
    {
      this.sp1.Visibility = Visibility.Visible;
      string contentname = ((CheckBox)sender).Content.ToString();

      List<CheckBox> collection = GetChildObjects<CheckBox>(lbJuDingZeRen, "");
      foreach (CheckBox item in collection)
      {
        if (item.Content.ToString() == contentname)
        {
          item.IsChecked = true;
        }
        else
        {
          item.IsChecked = false;
        }
      }

    }

    前台

    <DataTemplate x:Key="DataTemplateListBox1">
      <Grid>
        <CheckBox x:Name="cbName1" Content="{Binding 局定责任}" Checked="cbName1_Click" Unchecked="cbName1_Unchecked"             HorizontalAlignment="Right" Margin="0"/>
      </Grid>
    </DataTemplate>

    <ListBox x:Name="lbJuDingZeRen" ItemsSource="{Binding }" ScrollViewer.VerticalScrollBarVisibility="Auto" ItemTemplate="{StaticResource DataTemplateListBox1}"/>

  • 相关阅读:
    牛客网 二叉树的镜像 JAVA
    牛客网 反转链表 JAVA
    牛客网 调整数组顺序使奇数位于偶数前面 JAVA
    Integer to Roman LeetCode Java
    Valid Number leetcode java
    Longest Common Prefix
    Wildcard Matching leetcode java
    Regular Expression Matching
    Longest Palindromic Substring
    Add Binary LeetCode Java
  • 原文地址:https://www.cnblogs.com/caok168/p/2562892.html
Copyright © 2011-2022 走看看