İzlenecek yol: biçim WPF içeriği
bu makalede, bir Windows formunda barındırılan bir Windows Presentation Foundation (WPF) denetimine stil uygulamayı nasıl uygulayacağınız gösterilmektedir.
Önkoşullar
bu yönergeyi tamamlamak için Visual Studio gerekir.
Proje oluşturma
Visual Studio açın ve Visual Basic ya da Visual C# adında yeni bir Windows Forms uygulama projesi oluşturun StylingWpfContent .
Not
WPF içeriğini barındırırken yalnızca C# ve Visual Basic projeleri desteklenir.
WPF denetim türlerini oluşturma
Projeye bir WPF denetim türü ekledikten sonra, bunu bir denetimde barındırabilirsiniz ElementHost .
Çö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. izlenecek yol: tasarım zamanında Windows Forms yeni WPF içeriği oluşturma.Tasarım görünümü ' de, ' nin seçili olduğundan emin olun
UserControl1.Özellikler penceresinde, ve Height özelliklerinin değerini Heightolarak ayarlayın.
Öğesine bir System.Windows.Controls.Button denetim ekleyin UserControl ve Content özelliğin değerini System.Windows.Controls.Buttonolarak ayarlayın.
Öğesine ikinci bir System.Windows.Controls.Button denetim ekleyin UserControl ve Content özelliğinin değerini System.Windows.Controls.Buttonolarak ayarlayın.
Projeyi derleyin.
WPF denetimine stil uygulama
Görünümünü ve davranışını değiştirmek için WPF denetimine farklı stil uygulayabilirsiniz.
Form1Windows Form Tasarımcısı açın.Araç kutusunda, form üzerinde bir örnek oluşturmak için çift tıklayın
UserControl1.Bir örneği
UserControl1adlı yeni bir ElementHost denetimde barındırılırelementHost1.İçin akıllı etiket panelinde
elementHost1, açılan listedenelementHost1' ye tıklayın.UserControl1WPF Tasarımcısı 'nda açılır.XAML görünümünde, açılış etiketinden sonra aşağıdaki XAML 'yi ekleyin
<UserControl>. Bu XAML, çakışan gradyan kenarlığı olan bir gradyan oluşturur. Denetime tıklandığında degradeler, basılan düğme görünümü oluşturacak şekilde değiştirilir. Daha fazla bilgi için bkz. Stil oluşturma ve şablonoluş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>SimpleButtonAŞAĞıDAKI xaml 'Yi<Button>SimpleButtondüğmesinin etiketine ekleyerek, önceki adımda tanımlanan stili iptal düğmesine uygulayın.Style="{StaticResource SimpleButton}Düğme bildirimidir aşağıdaki XAML 'ye benzeyecektir:
<Button Height="23" Margin="41,52,98,0" Name="button1" VerticalAlignment="Top" Style="{StaticResource SimpleButton}">Cancel</Button>Projeyi derleyin.
Form1Windows Form Tasarımcısı açın.Yeni stil düğme denetimine uygulanır.
Hata Ayıkla menüsünde, hata ayıklamayı Başlat ' ı seçerek uygulamayı çalıştırın.
Tamam ve iptal düğmelerini tıklatın ve farkları görüntüleyin.