Buscar..


Plantillas de control

Las interfaces de usuario predeterminadas para los controles WPF se construyen normalmente a partir de otros controles y formas. Por ejemplo, un botón está compuesto de los controles ButtonChrome y ContentPresenter. ButtonChrome proporciona la apariencia estándar del botón, mientras que ContentPresenter muestra el contenido del botón, según lo especificado por la propiedad Contenido. A veces, la apariencia predeterminada de un control puede ser incongruente con la apariencia general de una aplicación. En este caso, puede usar un ControlTemplate para cambiar la apariencia de la interfaz de usuario del control sin cambiar su contenido y comportamiento.

XAML

   <Window 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      x:Class="SDKSample.ControlTemplateButtonWindow"
      Title="Button with Control Template" Height="158" Width="290">
    
      <!-- Button using an ellipse -->
      <Button Content="Click Me!" Click="button_Click">
        <Button.Template>
          <ControlTemplate TargetType="{x:Type Button}">
            <Grid Margin="5">
              <Ellipse Stroke="DarkBlue" StrokeThickness="2">
                <Ellipse.Fill>
                  <RadialGradientBrush Center="0.3,0.2" RadiusX="0.5" RadiusY="0.5">
                    <GradientStop Color="Azure" Offset="0.1" />
                    <GradientStop Color="CornflowerBlue" Offset="1.1" />
                  </RadialGradientBrush>
                </Ellipse.Fill>
              </Ellipse>
              <ContentPresenter Name="content" HorizontalAlignment="Center" 
                VerticalAlignment="Center"/>
            </Grid>
          </ControlTemplate>
        </Button.Template>
    
      </Button>
    
    </Window>

Código C #

 using System.Windows;
    
    namespace SDKSample
    {
        public partial class ControlTemplateButtonWindow : Window
        {
            public ControlTemplateButtonWindow()
            {
                InitializeComponent();
            }
    
            void button_Click(object sender, RoutedEventArgs e)
            {
                MessageBox.Show("Hello, Windows Presentation Foundation!");
            }
        }
    }


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow