WPF 寻找控件模板中的元素

<Window x:Class="Wpf180706.Window10"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window10" Height="300" Width="300">
    <Window.Resources>
        <ControlTemplate x:Key="temp">
            <StackPanel Background="Yellow">
                <TextBox Name="txt1" Margin="6"></TextBox>
                <TextBox Name="txt2" Margin="6"></TextBox>
                <TextBox Name="txt3" Margin="6"></TextBox>
            </StackPanel>
            
        </ControlTemplate>
    </Window.Resources>
    
    <Grid>
        <StackPanel>
            <UserControl Name="uc" Template="{StaticResource temp}"></UserControl>
            <Button Click="btn_Click">btn</Button>
        </StackPanel>
    </Grid>

</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.Shapes;

namespace Wpf180706
{
    /// <summary>
    /// Interaction logic for Window10.xaml
    /// </summary>
    public partial class Window10 : Window
    {
        public Window10()
        {
            InitializeComponent();
        }

private void btn_Click(object sender, RoutedEventArgs e)
        {
            TextBox txt = (TextBox)this.uc.Template.FindName("txt1",this.uc);
            txt.Text = "Hello";
            StackPanel sp = txt.Parent as StackPanel;
            ((TextBox)sp.Children[1]).Text = "Hello2";
            ((TextBox)sp.Children[2]).Text = "Hello3";
        }
    }
}

原文地址:https://www.cnblogs.com/Jeely/p/11076266.html

时间: 2024-07-31 00:25:13

WPF 寻找控件模板中的元素的相关文章

WPF ControlTemplate 控件模板

http://www.cnblogs.com/zhouyinhui/archive/2007/03/28/690993.html 模板与样式 它们可以调整控件的属性,但是样式不能使用全新的由不同元素组成的可视化树替代控件原来的外观. <Window x:Class="ApplyTemplateToControl.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation&quo

《Programming WPF》翻译 第5章 7.控件模板

原文:<Programming WPF>翻译 第5章 7.控件模板 如果仔细的看我们当前的TTT游戏,会发现Button对象并没有完全为我们工作.哪些TTT面板有内圆角? 图5-14 这里,我们真正需要的是能够保持按钮的行为,如支持内容和点击事件,但是我们想要接管这些按钮的外观.WPF允许这种方式,因为内在的控件创建的时候是缺少外观性的,例如,他们提供行为,但是外观可以被完全包装在客户端控件的外面. 还记得我们是如何使用数据模板,来为非可视化对象提供外观的么?我们能够使用控件模板对控件做同样的

WPF 学习之控件模板 ControlTemplate Triggers

控件模板ControlTemplate,有两部分:VistualTree视觉树,即是能看到的外观:Trigger触发器,里面包括外部条件达到某一条件下会引起的响应. <Window.Resources> <ControlTemplate x:Key="ButtonTempalted" TargetType="{x:Type Button}"> <Border Name="Border" BorderThickness

WPF基本控件介绍

回顾 上一篇,我们主要讨论了WPF的几个重点的基本知识的介绍,本篇,我们将会简单的介绍几个基本控件的简单用法,本文会举几个项目中的具体的例子,结合这些例子,希望我们可以对WPF的掌握会更深刻.本文涉及的内容可能较多.请大家慢慢看看.错误之处,还请指出. 本文大纲 1.基本控件介绍与用法. 基本控件介绍与用法 文本控件 Label控件 label控件:一般用户描述性文字显示. 在Label控件使用时,一般给予用户提示.用法上没有什么很特殊的,label控件的值记住:不是Text 而是 Conten

WP8.1学习系列(第二十六章)——控件模板

在本文中 自定义控件模板示例 指定控件的可视结构. 指定控件的可视行为 使用工具轻松处理主题 控件和辅助功能 了解有关控件默认模板的详细信息 控件模板中的主题资源 相关主题 在 XAML 框架中,如果要自定义控件的可视结构和可视行为,请创建控件模板.控件有多个属性,如 Background.Foreground 以及FontFamily,可以设置这些属性以指定控件外观的多个方面.但是可以通过设置这些属性所做的更改有限.可以使用 ControlTemplate 类创建提供其他自定义的模板.在此处,

Expression Blend实例中文教程(13) - 控件模板快速入门ControlTemplates

上篇,介绍了控件样式(Style)和模板(Template)的基础概念,并且演示了使用Blend设计控件样式.本篇将继续介绍使用Blend设计自定义控件模板 - ControlTemplate.ControlTemplate可以称为控件模板,简单的理解为控件结构和行为的集合.在项目设计中,经常会使用ControlTemplate创建新的控件模板或者修改现成的控件模板,使用项目的UI具有独特性.如何使用Blend创建和修改ControlTemplate是本文即将讨论的话题. 概述 对于Contro

WPF中的ControlTemplate(控件模板)(转)

原文地址 http://www.cnblogs.com/zhouyinhui/archive/2007/03/28/690993.html WPF中的ControlTemplate(控件模板)                                                                                                                        周银辉 WPF包含数据模板和控件模板,其中控件模板又包括Contro

WPF 中动态改变控件模板

在某些项目中,可能需要动态的改变控件的模板,例如软件中可以选择不同的主题,在不同的主题下软件界面.控件的样式都会有所不同,这时即可通过改变控件模板的方式实现期望的功能. 基本方法是当用户点击切换主题按钮是加载新的资源字典,并使用新加载的资源字典替代当前的资源字典这时要用到ResourceManager. 假设现有两个不同的资源字典文件Dictionary1.xaml和Dictionary2.xaml存在于Themes文件夹内: 在MainPage中使用其中一个资源字典作为默认样式文件: <Win

WPF 控件模板

WPF中每个控件都被设计为无外观的,这意味着我们可以通过一定的方式,完全重定义其可视化外观,而WPF也提供了这种改变外观的方式之一,我们称为模板.wpf的模板有多种方式,可以分为控件模板(ControlTemplate),控件列表模板(ItemsPanelTemplate)和数据模板(DataTemplate).其中ControlTemplate和ItemsPanelTemplate都属于控件模板,但又有不同的表示. 1.控件模板(ControlTemplate) 理解控件模板,首先得理解两个概