Gewusst wie: Erstellen eines BulletDecorator
Aktualisiert: November 2007
Dieses Beispiel veranschaulicht, wie sich das Bullet eines BulletDecorator-Steuerelements an anderen Child-Objekttypen ausrichtet. In diesem Beispiel werden darüber hinaus unterschiedliche Bullet-Objekttypen erläutert.
Beispiel
Im folgenden Beispiel wird die Definition eines BulletDecorator-Steuerelements dargestellt, das ein Bild als Bullet und ein Textobjekt als Child verwendet. Wenn ein Textobjekt wie in diesem Beispiel mehrere Textzeilen enthält, wird das Bullet-Objekt an der ersten Textzeile ausgerichtet.
Dim myBulletDecorator = New BulletDecorator()
Dim myImage = New Image()
Dim myBitmapImage = New BitmapImage()
myBitmapImage.BeginInit()
myBitmapImage.UriSource = _
New Uri("pack://application:,,/images/apple.jpg")
myBitmapImage.EndInit()
myImage.Source = myBitmapImage
myImage.Width = 10
myBulletDecorator.Bullet = myImage
myBulletDecorator.Margin = New Thickness(0, 10, 0, 0)
myBulletDecorator.VerticalAlignment = VerticalAlignment.Center
myBulletDecorator.Background = Brushes.Yellow
Dim myTextBlock = New TextBlock()
myTextBlock.Text = "This BulletDecorator created by using code"
myTextBlock.TextWrapping = TextWrapping.Wrap
myTextBlock.HorizontalAlignment = HorizontalAlignment.Left
myTextBlock.Width = 100
myTextBlock.Foreground = Brushes.Purple
myBulletDecorator.Child = myTextBlock
BulletDecorator myBulletDecorator = new BulletDecorator();
Image myImage = new Image();
BitmapImage myBitmapImage = new BitmapImage();
myBitmapImage.BeginInit();
myBitmapImage.UriSource = new Uri(@"pack://application:,,/images/apple.jpg");
myBitmapImage.EndInit();
myImage.Source = myBitmapImage;
myImage.Width = 10;
myBulletDecorator.Bullet = myImage;
myBulletDecorator.Margin = new Thickness(0, 10, 0, 0);
myBulletDecorator.VerticalAlignment = VerticalAlignment.Center;
myBulletDecorator.Background = Brushes.Yellow;
TextBlock myTextBlock = new TextBlock();
myTextBlock.Text = "This BulletDecorator created by using code";
myTextBlock.TextWrapping = TextWrapping.Wrap;
myTextBlock.HorizontalAlignment = HorizontalAlignment.Left;
myTextBlock.Width = 100;
myTextBlock.Foreground = Brushes.Purple;
myBulletDecorator.Child = myTextBlock;
<BulletDecorator Grid.Row="1" Grid.Column="0" Margin="0,5,0,0"
VerticalAlignment="Center" Background="Yellow">
<BulletDecorator.Bullet>
<Image Source="images\apple.jpg"/>
</BulletDecorator.Bullet>
<TextBlock
Width="100"
TextWrapping="Wrap"
HorizontalAlignment="Left"
Foreground ="Purple">
A Simple BulletDecorator
</TextBlock>
</BulletDecorator>
Im folgenden Beispiel wird die Definition eines BulletDecorator-Steuerelements dargestellt, das ein Bild als Bullet und ein Textobjekt mit festgelegtem Schriftgrad als Child verwendet. Da das Bullet kleiner ist als die Buchstaben, die durch den Schriftgrad angegeben werden, zentriert sich das Bullet-Objekt neben dem Text.
<BulletDecorator Margin="0,5,0,10" Grid.Column="0" Grid.Row="2"
VerticalAlignment="Center">
<BulletDecorator.Bullet>
<Image Source="images\apple.jpg"/>
</BulletDecorator.Bullet>
<TextBlock Name="FontSizeExample"
FontSize="12" Foreground="Green">FontSize = 12 </TextBlock>
</BulletDecorator>
Im folgenden Beispiel wird die Definition eines BulletDecorator-Steuerelements dargestellt, das ein Bild als Bullet und ein Element, das nicht aus Text besteht, als Child verwendet. In diesem Beispiel richtet sich das Bullet-Objekt am Mittelpunkt neben dem Nicht-Text-Element aus.
<BulletDecorator Grid.Row="3" Grid.Column="0" Margin="0,5,0,0">
<BulletDecorator.Bullet>
<Image Source="images\apple.jpg"/>
</BulletDecorator.Bullet>
<Ellipse Height="75" Width="50" Fill="Purple"
HorizontalAlignment="Left" ></Ellipse>
</BulletDecorator>
Das folgende Beispiel veranschaulicht drei Arten von Bullet-Optionen für ein BulletDecorator-Steuerelement.
<BulletDecorator Margin="0,5,0,0">
<BulletDecorator.Bullet>
<CheckBox/>
</BulletDecorator.Bullet>
<TextBlock
Width="100"
TextWrapping="Wrap"
HorizontalAlignment="Left"
Foreground = "Blue"
Margin="5,0,0,0">
A BulletDecorator with a CheckBox Bullet.
</TextBlock>
</BulletDecorator>
<BulletDecorator Margin="0,5,0,0">
<BulletDecorator.Bullet>
<TextBox Width="30"/>
</BulletDecorator.Bullet>
<TextBlock
Width="100"
TextWrapping="Wrap"
HorizontalAlignment="Left"
Foreground ="Blue"
Margin="5,0,0,0">
A BulletDecorator with a TextBox Bullet.
</TextBlock>
</BulletDecorator>
<BulletDecorator Margin="0,5,0,0">
<BulletDecorator.Bullet>
<RadioButton/>
</BulletDecorator.Bullet>
<TextBlock
Width="100"
TextWrapping="Wrap"
HorizontalAlignment="Left"
Foreground ="Blue"
Margin="5,0,0,0">
A BulletDecorator with a RadioButton Bullet
</TextBlock>
</BulletDecorator>