zoukankan      html  css  js  c++  java
  • wpf 查找Control Template内部控件

            <DataGrid Name="DataGrid1" HorizontalAlignment="Left" Height="200" Margin="69,200,0,0" VerticalAlignment="Top" Width="500" AutoGenerateColumns="False">
                <DataGrid.Columns>
                    <DataGridTextColumn Header="序号"  Binding="{Binding Value1}"></DataGridTextColumn>
                    <DataGridTextColumn Header="值"  Binding="{Binding Value2}"></DataGridTextColumn>
                    <DataGridTemplateColumn Header="操作状态" Width="120*">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
                                    <Label Name="Label1" Content="Label"/>
                                    <Button Content="开始下载" Name="Bianji" Tag="{Binding Value1}" Click="Button1_Click" />
                                    <Button Content="停止下载" Name="Shangchu" Tag="{Binding Value1}" Click="Button2_Click" Foreground="#FFE01919" />
                                </StackPanel>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                </DataGrid.Columns>
            </DataGrid>
    
            private void Button1_Click(object sender, RoutedEventArgs e)
            {
                Button b = (Button)sender;
                int index = DataGrid1.SelectedIndex;
                object ww = DataGrid1.SelectedItem;
    
                StackPanel sp = b.Parent as StackPanel;
                Label tb = sp.FindName("Label1") as Label;
    
    
            }
    

        <Window x:Class="WpfApp5.MainWindow"
                xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
                xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
                xmlns:local="clr-namespace:WpfApp5"
                xmlns:arr="clr-namespace:System.Collections;assembly=mscorlib"
                xmlns:sys="clr-namespace:System;assembly=mscorlib"
                mc:Ignorable="d"
                Title="MainWindow" Height="450" Width="800">
            <Window.Resources>
                <ControlTemplate x:Key="Temp">
                    <StackPanel Background="Yellow">
                        <TextBox x:Name="txt1"/>
                        <TextBox x:Name="txt2"/>
                        <TextBox x:Name="txt3"/>
                    </StackPanel>
                   
                </ControlTemplate>
            </Window.Resources>
         
         
            <StackPanel >
                <UserControl x:Name="uc" Template="{StaticResource Temp}"></UserControl>
                <Button x:Name="btn" Content="btn" Click="Btn_Click"/>
            </StackPanel>
        </Window>

        using System;
        using System.Collections.Generic;
        using System.Linq;
        using System.Text;
        using System.Threading.Tasks;
        using System.Windows;
        using System.Windows.Controls;
        using System.Windows.Data;
        using System.Windows.Documents;
        using System.Windows.Input;
        using System.Windows.Media;
        using System.Windows.Media.Imaging;
        using System.Windows.Navigation;
        using System.Windows.Shapes;
         
        namespace WpfApp5
        {
            /// <summary>
            /// MainWindow.xaml 的交互逻辑
            /// </summary>
            public partial class MainWindow : Window
            {
                public MainWindow()
                {
                    InitializeComponent();
                }
         
                private void Btn_Click(object sender, RoutedEventArgs e)
                {
                    TextBox tb = this.uc.Template.FindName("txt1", this.uc) as TextBox;
                    tb.Text = "Hello,wpf";
                    StackPanel sp = tb.Parent as StackPanel;
                    (sp.Children[1] as TextBox).Text = "Hello control template";
                    (sp.Children[2] as TextBox).Text = "I can find you";
         
                }
            }
        }

  • 相关阅读:
    【分享】自己写的一个可空的DateTimePicker控件-附源码
    思达报表工具Style Report基础教程—创建多表关联、多表多列关联的数据块
    思达报表工具Style Report基础教程—通过Mirror,子表和Union将逗号分隔的字段内容处理成多行数据
    思达报表工具Style Report基础教程—创建一个多数据块的联合(Union)、镜像(Mirror)
    思达报表工具Style Report基础教程—在数据块中设置SQL、JS公式列
    思达报表工具Style Report基础教程—数据块
    思达报表工具Style Report基础教程—创建数据源连接
    思达报表工具Style Report基础教程-五步创建一个报表
    java 报表工具技巧--在报表软件Style Report中实现固定行分页分组合计报表
    Java报表软件--如何在报表系统Style Report中制作ABC分析数据图表
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/15149039.html
Copyright © 2011-2022 走看看