Suche…


Steuerungsvorlagen

Die Standardbenutzeroberflächen für WPF-Steuerelemente werden normalerweise aus anderen Steuerelementen und Formen aufgebaut. Ein Button besteht beispielsweise aus ButtonChrome- und ContentPresenter-Steuerelementen. Das ButtonChrome stellt die Standardschaltfläche dar, während der ContentPresenter den Inhalt der Schaltfläche anzeigt, wie von der Content-Eigenschaft angegeben. In manchen Fällen stimmt das standardmäßige Erscheinungsbild eines Steuerelements nicht mit dem Gesamterscheinungsbild einer Anwendung überein. In diesem Fall können Sie eine ControlTemplate verwenden, um das Erscheinungsbild der Benutzeroberfläche des Steuerelements zu ändern, ohne dessen Inhalt und Verhalten zu ändern.

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 # -Code

 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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow