WPF 模板中的控件修改

原创 2012年03月22日 10:19:08

 模板:

<ControlTemplate x:Key="HomeBtnNewTemplate" TargetType="{x:Type Button}">
        <Grid Width="{TemplateBinding Width}"  Background="{TemplateBinding Background}"
      Height="{TemplateBinding Height}" ClipToBounds="True">
            <Rectangle x:Name="glassCube" HorizontalAlignment="Stretch"
        VerticalAlignment="Stretch" Opacity="1"
        Fill="{StaticResource ShopBtnNewBrush}"  RenderTransformOrigin="0.5,0.5"
                        RadiusX="10" RadiusY="10">
                <Rectangle.RenderTransform>
                    <TransformGroup>
                        <ScaleTransform />
                    </TransformGroup>
                </Rectangle.RenderTransform>
            </Rectangle>
        </Grid>

        <ControlTemplate.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="Rectangle.Opacity" Value="1"       TargetName="glassCube" />
            </Trigger>
            <Trigger Property="IsFocused" Value="true">
                <Setter Property="Rectangle.Opacity" Value="1"   TargetName="glassCube" />
            </Trigger>
            <EventTrigger RoutedEvent="Mouse.MouseEnter">
                <EventTrigger.Actions>
                    <BeginStoryboard Name="mouseEnterBeginStoryboard">
                        <Storyboard AutoReverse="True">
                            <DoubleAnimation Storyboard.TargetName="glassCube"
          Storyboard.TargetProperty=
          "(Rectangle.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"
          By="0.03" Duration="0:0:0.2" />
                            <DoubleAnimation
        Storyboard.TargetName="glassCube"
          Storyboard.TargetProperty=
          "(Rectangle.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)"
          By="0.03" Duration="0:0:0.2" />
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger.Actions>
            </EventTrigger>
            <EventTrigger RoutedEvent="Mouse.MouseLeave">
                <EventTrigger.Actions>
                </EventTrigger.Actions>
            </EventTrigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>

 

 

 

修改方法:

  ControlTemplate template = (ControlTemplate)this.TryFindResource("HomeBtnTemplate");           
            Rectangle rec = template.FindName("glassCube", btnTest) as Rectangle;
            Console.WriteLine(rec.Name);

同理可以拿到模板中的其他对象进行相应更改

 

[转] 使用模板自定义 WPF 控件

                                                                         [转] 使用模板自定义 WPF 控件       ...

WPF控件模板与样式最方便的修改方法

话就不多说,直接给给个例子 比如要修改工具栏ToolBar的Background, 选择ToolBar在属性栏右键点Template将值提取到资源(如下图) 提取到的资源保存,最好保存在资源...
  • isGoodi
  • isGoodi
  • 2011年10月12日 17:09
  • 3576

WPF中的ControlTemplate(控件模板)

WPF包含数据模板和控件模板,其中控件模板又包括ControlTemplate和ItemsPanelTemplate,这里讨论一下ControlTemplate。其实WPF的每一个控件都有一个默认的模...

WPF中的模板(四)- 寻找ControlTemplate和DataTemplate的控件

一、WPF中的两棵树 WPF中每个控件的Template都是由ControlTemplate构成,ControlTemplate包含了构成该控件的各种子控件,这些子控件就构成了Vi...

WPF 控件模板 Simple Styles.xaml

http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/win...

WPF中的控件模板(ControlTemplate)

WPF包含数据模板和控件模板,其中控件模板又包括ControlTemplate和ItemsPanelTemplate,这里讨论一下ControlTemplate。     其实WPF的每一个控件...

wpf控件模板工具

  • 2016年05月12日 17:29
  • 21KB
  • 下载

WPF 构建自定义控件 模板Template

一、自定义 按钮控件 模板 效果: XAML:         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation...

WPF控件模板可视化树查看器

  • 2016年01月21日 19:05
  • 59KB
  • 下载

WPF自定义模板控件

  • 2013年04月08日 16:44
  • 7KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WPF 模板中的控件修改
举报原因:
原因补充:

(最多只允许输入30个字)