İzlenecek yol: Stil WPF içeriği

Bu makalede, Windows Form üzerinde barındırılan bir Windows Presentation Foundation (WPF) denetimine stil uygulama gösterilmektedir.

Ön koşullar

Bu kılavuzu tamamlamak için Visual Studio'ya ihtiyacınız vardır.

Proje oluşturma

Visual Studio'yu açın ve Visual Basic veya Visual C# içinde adlı StylingWpfContentyeni bir Windows Forms Uygulaması projesi oluşturun.

Dekont

WPF içeriği barındırılırken yalnızca C# ve Visual Basic projeleri desteklenir.

WPF denetim türlerini oluşturma

Projeye wpf denetim türü ekledikten sonra, bunu bir ElementHost denetimde barındırabilirsiniz.

  1. Çözüme yeni bir WPF UserControl projesi ekleyin. Denetim türü için varsayılan adı kullanın. UserControl1.xaml Daha fazla bilgi için bkz . İzlenecek Yol: Tasarım Zamanında Windows Forms'da Yeni WPF İçeriği Oluşturma.

  2. Tasarım görünümünde bunun seçili olduğundan emin olun UserControl1 .

  3. Özellikler penceresinde ve Height özelliklerinin değerini Width 200 olarak ayarlayın.

  4. öğesine UserControl bir System.Windows.Controls.Button denetim ekleyin ve özelliğinin Content değerini İptal olarak ayarlayın.

  5. öğesine UserControl ikinci System.Windows.Controls.Button bir denetim ekleyin ve özelliğinin Content değerini Tamam olarak ayarlayın.

  6. Projeyi derleyin.

WPF Denetimine Stil Uygulama

Wpf denetimine görünümünü ve davranışını değiştirmek için farklı stil uygulayabilirsiniz.

  1. Windows Forms Tasarım Aracı açınForm1.

  2. Araç Kutusu'nda, formda örneğini UserControl1 oluşturmak için çift tıklayınUserControl1.

    örneği UserControl1 adlı elementHost1yeni ElementHost bir denetimde barındırılır.

  3. için akıllı etiket panelindeelementHost1, açılan listeden Barındırılan İçeriği Düzenle'ye tıklayın.

    UserControl1WPF Tasarım Aracı açılır.

  4. XAML görünümünde, açma etiketinden sonra aşağıdaki XAML'yi <UserControl> ekleyin. Bu XAML, karşıt gradyan kenarlıklı bir gradyan oluşturur. Denetime tıklandığında, gradyanlar basılı bir düğme görünümü oluşturmak için değiştirilir. Daha fazla bilgi için bkz . Stil oluşturma ve Şablon Oluşturma.

    <UserControl.Resources>
     <LinearGradientBrush x:Key="NormalBrush" EndPoint="0,1" StartPoint="0,0">
         <GradientStop Color="#FFF" Offset="0.0"/>
         <GradientStop Color="#CCC" Offset="1.0"/>
     </LinearGradientBrush>
     <LinearGradientBrush x:Key="PressedBrush" EndPoint="0,1" StartPoint="0,0">
         <GradientStop Color="#BBB" Offset="0.0"/>
         <GradientStop Color="#EEE" Offset="0.1"/>
         <GradientStop Color="#EEE" Offset="0.9"/>
         <GradientStop Color="#FFF" Offset="1.0"/>
     </LinearGradientBrush>
     <LinearGradientBrush x:Key="NormalBorderBrush" EndPoint="0,1" StartPoint="0,0">
         <GradientStop Color="#CCC" Offset="0.0"/>
         <GradientStop Color="#444" Offset="1.0"/>
     </LinearGradientBrush>
     <LinearGradientBrush x:Key="BorderBrush" EndPoint="0,1" StartPoint="0,0">
         <GradientStop Color="#CCC" Offset="0.0"/>
         <GradientStop Color="#444" Offset="1.0"/>
     </LinearGradientBrush>
     <LinearGradientBrush x:Key="PressedBorderBrush" EndPoint="0,1" StartPoint="0,0">
         <GradientStop Color="#444" Offset="0.0"/>
         <GradientStop Color="#888" Offset="1.0"/>
     </LinearGradientBrush>
    
     <Style x:Key="SimpleButton" TargetType="{x:Type Button}" BasedOn="{x:Null}">
         <Setter Property="Background" Value="{StaticResource NormalBrush}"/>
         <Setter Property="BorderBrush" Value="{StaticResource NormalBorderBrush}"/>
         <Setter Property="Template">
             <Setter.Value>
                 <ControlTemplate TargetType="{x:Type Button}">
                     <Grid x:Name="Grid">
                         <Border x:Name="Border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}"/>
                         <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RecognizesAccessKey="True"/>
                     </Grid>
                     <ControlTemplate.Triggers>
                         <Trigger Property="IsPressed" Value="true">
                             <Setter Property="Background" Value="{StaticResource PressedBrush}" TargetName="Border"/>
                             <Setter Property="BorderBrush" Value="{StaticResource PressedBorderBrush}" TargetName="Border"/>
                         </Trigger>
                     </ControlTemplate.Triggers>
                 </ControlTemplate>
             </Setter.Value>
         </Setter>
     </Style>
    </UserControl.Resources>
    
  5. İptal düğmesinin SimpleButton etiketine aşağıdaki XAML'yi <Button> ekleyerek önceki adımda tanımlanan stili İptal düğmesine uygulayın.

    Style="{StaticResource SimpleButton}
    

    Düğme bildiriminiz aşağıdaki XAML'ye benzer:

    <Button Height="23" Margin="41,52,98,0" Name="button1" VerticalAlignment="Top"
                 Style="{StaticResource SimpleButton}">Cancel</Button>
    
  6. Projeyi derleyin.

  7. Windows Forms Tasarım Aracı açınForm1.

  8. Yeni stil düğme denetimine uygulanır.

  9. Uygulamayı çalıştırmak için Hata Ayıkla menüsünden Hata Ayıklamayı Başlat'ı seçin.

  10. Tamam ve İptal düğmelerine tıklayın ve farkları görüntüleyin.

Ayrıca bkz.