This article is currently in the process of being translated into Korean (~94% done).
Rich Text controls:
Creating a FlowDocument from Code-behind
지금까지 우리는 FlowDocument를 XAML로 직접 만들었다. 인터넷의 정보는 온통 HTML을 사용하고 XAML은 HTML과 꽤 비슷하기 때문에 XAML로 문서를 표현하는 것은 상식적이다. 하지만 이것이 코드 비하인드로 FlowDocument를 만들 수 없다는 뜻이 아님은 명백하다. - 모든 요소는 사용자가 생성할 수 있는 클래스로 표현되므로 C# 코드로 추가할 수 있다.
짧은 예로 첫번째 기사의 "Hello, world!"를 XAML 대신 코드 비하인드로 만들어 보았다:
<Window x:Class="WpfTutorialSamples.Rich_text_controls.CodeBehindFlowDocumentSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="CodeBehindFlowDocumentSample" Height="200" Width="300">
<Grid>
<FlowDocumentScrollViewer Name="fdViewer" />
</Grid>
</Window>
using System;
using System.Windows;
using System.Windows.Documents;
using System.Windows.Media;
namespace WpfTutorialSamples.Rich_text_controls
{
public partial class CodeBehindFlowDocumentSample : Window
{
public CodeBehindFlowDocumentSample()
{
InitializeComponent();
FlowDocument doc = new FlowDocument();
Paragraph p = new Paragraph(new Run("Hello, world!"));
p.FontSize = 36;
doc.Blocks.Add(p);
p = new Paragraph(new Run("The ultimate programming greeting!"));
p.FontSize = 14;
p.FontStyle = FontStyles.Italic;
p.TextAlignment = TextAlignment.Left;
p.Foreground = Brushes.Gray;
doc.Blocks.Add(p);
fdViewer.Document = doc;
}
}
}
정확히 동일한 작업에 필요한 짧은 XAML과 비교해 보면 별 다른 것은 없다:
<FlowDocument>
<Paragraph FontSize="36">Hello, world!</Paragraph>
<Paragraph FontStyle="Italic" TextAlignment="Left" FontSize="14" Foreground="Gray">The ultimate programming greeting!</Paragraph>
</FlowDocument>
논외로 - 때로는 코드 비하인드로 하는 것이 더 적절해 보이고 보다시피 확실히 가능하다.
This article has been fully translated into the following languages:
Is your preferred language not on the list? Click here to help us translate this article into your language!