İ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ı StylingWpfContent
yeni 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.
Çö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.Tasarım görünümünde bunun seçili olduğundan emin olun
UserControl1
.Özellikler penceresinde ve Height özelliklerinin değerini Width 200 olarak ayarlayın.
öğesine UserControl bir System.Windows.Controls.Button denetim ekleyin ve özelliğinin Content değerini İptal olarak ayarlayın.
öğesine UserControl ikinci System.Windows.Controls.Button bir denetim ekleyin ve özelliğinin Content değerini Tamam olarak ayarlayın.
Projeyi derleyin.
WPF Denetimine Stil Uygulama
Wpf denetimine görünümünü ve davranışını değiştirmek için farklı stil uygulayabilirsiniz.
Windows Forms Tasarım Aracı açın
Form1
.Araç Kutusu'nda, formda örneğini
UserControl1
oluşturmak için çift tıklayınUserControl1
.örneği
UserControl1
adlıelementHost1
yeni ElementHost bir denetimde barındırılır.için akıllı etiket panelinde
elementHost1
, açılan listeden Barındırılan İçeriği Düzenle'ye tıklayın.UserControl1
WPF Tasarım Aracı açılır.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>
İ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>
Projeyi derleyin.
Windows Forms Tasarım Aracı açın
Form1
.Yeni stil düğme denetimine uygulanır.
Uygulamayı çalıştırmak için Hata Ayıkla menüsünden Hata Ayıklamayı Başlat'ı seçin.
Tamam ve İptal düğmelerine tıklayın ve farkları görüntüleyin.
Ayrıca bkz.
.NET Desktop feedback
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin