방법: 프로그래밍 방식으로 TextWrapping 속성 변경
업데이트: 2007년 11월
예제
다음 코드 예제에서는 Microsoft Visual Basic .NET을 사용하여 TextWrapping 속성의 값을 프로그래밍 방식으로 변경하는 방법을 보여 줍니다.
4개의 Buttons 클래스가 XAML(Extensible Application Markup Language)의 StackPanel 요소 내에 배치됩니다. 각 Button's Click 이벤트는 아래의 Microsoft Visual Basic .NET 코드에 정의된 sub 프로시저에 해당합니다. 각 이벤트와 연결된 TextWrapping 값을 호출하면 Name txt2로 식별되는 TextBlock이 속성의 변경 내용을 반영하도록 업데이트됩니다.
<StackPanel Orientation="Horizontal" Margin="0,0,0,20">
<Button Name="btn1" Background="Silver" Width="100" Click="Wrap">Wrap</Button>
<Button Name="btn2" Background="Silver" Width="100" Click="NoWrap">NoWrap</Button>
<Button Name="btn4" Background="Silver" Width="100" Click="WrapWithOverflow">WrapWithOverflow</Button>
</StackPanel>
<TextBlock Name="txt2" TextWrapping="Wrap" Margin="0,0,0,20" Foreground="Black">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit.Lorem ipsum dolor sit aet, consectetuer adipiscing elit.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
</TextBlock>
위에 정의된 Button 클릭과 연결된 이벤트는 Microsoft Visual Basic .NET sub 프로시저에서 처리됩니다. 각 Click은 TextWrapping 속성 값을 프로시저에 지정된 값으로 변경하고 속성의 변경 내용을 반영하도록 txt1 요소를 업데이트합니다.
Private Sub Wrap(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs)
txt2.TextWrapping = System.Windows.TextWrapping.Wrap
txt1.Text = "The TextWrap property is currently set to Wrap."
End Sub
Private Sub NoWrap(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs)
txt2.TextWrapping = System.Windows.TextWrapping.NoWrap
txt1.Text = "The TextWrap property is currently set to NoWrap."
End Sub
Private Sub WrapWithOverflow(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs)
txt2.TextWrapping = System.Windows.TextWrapping.WrapWithOverflow
txt1.Text = "The TextWrap property is currently set to WrapWithOverflow."
End Sub
private void Wrap(object sender, RoutedEventArgs e)
{
txt2.TextWrapping = System.Windows.TextWrapping.Wrap;
txt1.Text = "The TextWrap property is currently set to Wrap.";
}
private void NoWrap(object sender, RoutedEventArgs e)
{
txt2.TextWrapping = System.Windows.TextWrapping.NoWrap;
txt1.Text = "The TextWrap property is currently set to NoWrap.";
}
private void WrapWithOverflow(object sender, RoutedEventArgs e)
{
txt2.TextWrapping = System.Windows.TextWrapping.WrapWithOverflow;
txt1.Text = "The TextWrap property is currently set to WrapWithOverflow.";
}