Recherche…


Modèles de contrôle

Les interfaces utilisateur par défaut pour les contrôles WPF sont généralement construites à partir d'autres contrôles et formes. Par exemple, un bouton est composé à la fois des contrôles ButtonChrome et ContentPresenter. ButtonChrome fournit l'apparence du bouton standard, tandis que ContentPresenter affiche le contenu du bouton, comme spécifié par la propriété Content. Parfois, l'apparence par défaut d'un contrôle peut ne pas correspondre à l'apparence générale d'une application. Dans ce cas, vous pouvez utiliser un ControlTemplate pour modifier l'apparence de l'interface utilisateur du contrôle sans modifier son contenu et son comportement.

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>

Code 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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow