方法 : BulletDecorator を作成する
更新 : 2007 年 11 月
この例では、BulletDecorator コントロールの Bullet と、各種の Child オブジェクトとの位置関係を揃える方法を示します。また、各種の Bullet オブジェクトも示しています。
使用例
イメージを Bullet として使用し、テキスト オブジェクトを Child として使用する BulletDecorator コントロールを定義する方法を次の例に示します。この例のように、テキスト オブジェクトに複数行のテキストが含まれている場合、Bullet オブジェクトは、テキストの 1 行目に揃えられます。
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>
イメージを Bullet として使用し、指定したフォント サイズのテキスト オブジェクトを Child として使用する BulletDecorator コントロールを定義する方法を次の例に示します。Bullet はフォント サイズで指定された文字よりも小さいため、Bullet オブジェクトは、テキストの後に中央揃えで配置されます。
<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>
イメージを Bullet として使用し、非テキスト要素を Child として使用する BulletDecorator コントロールを定義する方法を次の例に示します。この例では、Bullet オブジェクトは非テキスト要素の後に中央揃えで配置されます。
<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>
BulletDecorator コントロールの Bullet の 3 種類のオプションを次の例に示します。
<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>