Finding the border that is generated by the ControlTemplate of the Button : ControlTemplate « Windows Presentation Foundation « C# / C Sharp






Finding the border that is generated by the ControlTemplate of the Button

Finding the border that is generated by the ControlTemplate of the Button
  

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="WPF" Height="100" Width="160">

    <Window.Resources>
        <ControlTemplate x:Key="buttonTemplate" TargetType="{x:Type Button}">
            <Border x:Name="border" BorderThickness="3" BorderBrush="DarkGray" Background="LightGray">
                <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
            </Border>
            <ControlTemplate.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter TargetName="border" Property="Background" Value="Orange"/>
                </Trigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>
    </Window.Resources>
    <Grid>
        <Button x:Name="button" Height="24" HorizontalAlignment="Stretch" Content="Custom Template"
                Template="{StaticResource buttonTemplate}" Click="Button_Click">
        </Button>
    </Grid>
</Window>
//File:Window.xaml.cs
using System;
using System.Windows;
using System.Windows.Controls;

namespace WpfApplication1
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Border borderInTemplate = (Border)button.Template.FindName("border", button);
            Console.WriteLine(borderInTemplate.GetValue(Border.ActualWidthProperty));
        }
    }
}

   
    
  








Related examples in the same category

1.Control template: event trigger, border and textControl template: event trigger, border and text
2.Put a Control Template into a StylePut a Control Template into a Style
3.Label with ControlTemplateLabel with ControlTemplate
4.Specify Named Parts of a Control TemplateSpecify Named Parts of a Control Template
5.ProgressBar with ControlTemplateProgressBar with ControlTemplate
6.Simple ControlTemplateSimple ControlTemplate
7.ControlTemplate with TriggersControlTemplate with Triggers
8.ControlTemplate that Respects ContentControlTemplate that Respects Content
9.ControlTemplate that Respects More PropertiesControlTemplate that Respects More Properties
10.Use ControlTemplate and event handlerUse ControlTemplate and event handler
11.Get The actual width of the border in the ControlTemplateGet The actual width of the border in the ControlTemplate
12.ControlTemplates and style xaml file
13.Enhance the visual appearance of a ContentControl by applying a style.Enhance the visual appearance of a ContentControl by applying a style.
14.Use a ContentTemplate and determine whether the control contains content.Use a ContentTemplate and determine whether the control contains content.