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}"/>

  • 相关阅读:
    android intent 传递list或者对象
    MyEclipse快捷键大全
    keystore 介绍
    oracle存储过程学习---包的概念
    判断变量类型
    Android自定义控件之TextView
    Myeclipse SVN 修改用户名和密码
    关于Inflater
    windowsxp系统下SVN添加新用户
    【原创】python:open函数的使用方法
  • 原文地址:https://www.cnblogs.com/caok168/p/2562892.html
Copyright © 2011-2022 走看看