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

  • 相关阅读:
    五、nginx 配置实例-负载均衡
    四、nginx配置实例-反向代理
    三、nginx配置文件
    二、Nginx 安装
    十二、rpm包的管理
    十一、进程管理
    十、Linux磁盘分区、挂载
    九、定时任务调度
    八、组管理和权限管理
    七、实用指令
  • 原文地址:https://www.cnblogs.com/caok168/p/2562892.html
Copyright © 2011-2022 走看看