다음을 통해 공유


방법: BulletDecorator 만들기

업데이트: 2007년 11월

이 예제에서는 BulletDecorator 컨트롤의 Bullet이 여러 형식의 Child 개체에 맞춰 정렬되는 방식을 보여 줍니다. 또한 이 예제에서는 여러 형식의 Bullet 개체도 보여 줍니다.

예제

다음 예제에서는 이미지를 Bullet으로 사용하고 텍스트 개체를 Child로 사용하는 BulletDecorator 컨트롤을 정의하는 방법을 보여 줍니다. 이 예제에서처럼 텍스트 개체에 여러 줄의 텍스트가 포함된 경우 Bullet 개체는 텍스트의 첫 줄에 맞춰 정렬됩니다.

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 옵션을 보여 줍니다.

<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>

참고 항목

참조

BulletDecorator