문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

InkPresenter

Silverlight

잉크 스트로크를 표시하며 다른 개체의 자식, 형제 또는 부모가 될 수 있는 사각형 화면을 구현합니다.

<InkPresenter ...>
  oneOrMoreUIElements
</InkPresenter   ...>

설명

oneOrMoreUIElements

UIElement 에서 파생되는 Border (Silverlight 2), Canvas, Ellipse, Glyphs, Grid (Silverlight 2), Image, InkPresenter, Line, MediaElement, PasswordBox (Silverlight 2), Path, Polygon, Polyline, Rectangle, Shape, StackPanel (Silverlight 2), TextBlockTextBox (Silverlight 2) 중 하나 이상의 개체 요소입니다. 여기에 정의된 개체 요소는 런타임에 스크립트를 통해 Children 속성에 액세스할 때 Children 컬렉션의 멤버가 됩니다.

Background(요소) , Canvas.Left, Canvas.Top, Canvas.ZIndex, Children(패널), Clip, Cursor, Effect (Silverlight 3), Grid.Column (Silverlight 2), Grid.ColumnSpan (Silverlight 2), Grid.Row (Silverlight 2), Grid.RowSpan (Silverlight 2), Height(UIElement), HorizontalAlignment (Silverlight 2), IsHitTestVisible, IsItemsHost (Silverlight 3), 언어 (Silverlight 2), Margin (Silverlight 2), MaxHeight (Silverlight 2), MaxWidth (Silverlight 2), MinHeight (Silverlight 2), MinWidth (Silverlight 2), Name(DependencyObject), Opacity(UIElement), OpacityMask, Projection (Silverlight 3), RenderTransform, RenderTransformOrigin, Resources, 스타일 (Silverlight 2), Strokes, Tag, TextOptions.TextHintingMode (Silverlight 3), Triggers, UseLayoutRounding (Silverlight 2), VerticalAlignment (Silverlight 2), Visibility, Width(UIElement)

InkPresenter Canvas의 파생 개체입니다. 특히 이 개체는 프레젠테이션과 관련된 두 속성인 BackgroundChildren을 상속합니다. InkPresenter 개체의 Background 값은 화면에 표시되는 모든 스트로크의 뒤에 적용됩니다.

Children InkPresenter의 콘텐츠 속성이므로 위의 XAML 구문에서 oneOrMoreUIElements 자리 표시자로 참조됩니다. InkPresenter 는 기본적으로 스트로크를 표시하는 데 사용되므로 일반적으로는 InkPresenter에 대해 Children UI 요소를 지정하기보다는 Canvas 개체에 대해 Children을 설정합니다. 그러나 InkPresenter에 대해 Children을 설정하면 잉크 캡처 영역 내에서 시각적 안내, 워터마크, 컨트롤 등을 제공하는 특정 시나리오에 유용할 수 있습니다.

InkPresenter Children 값은 Canvas의 경우와 마찬가지로 InkPresenter 화면에 렌더링됩니다. 그러나 스트로크 컬렉션은 Strokes 속성에 별도로 저장됩니다. 기본적으로 CanvasChildren 요소를 렌더링 시 겹칠 수 있도록 선언되는 순서로 그립니다. 즉, 마지막으로 선언되는 요소가 맨 위에 그려집니다. 그러나 자식 요소에 대해 Canvas.ZIndex 속성 값을 설정하면 이 순서를 조정할 수 있습니다.

모든 Children 항목은 Background 위에 그려집니다. 모든 StrokesChildrenBackground 위에 그려지며 Canvas.ZIndexStrokes를 조정할 수는 없습니다. 그러므로 스트로크 위에 유지되도록 하려는 콘텐츠가 있는 경우에는 InkPresenterChildren 속성을 스크립트에서 설정하거나 XAML에서 직접 요소 콘텐츠로 설정하는 대신 InkPresenter에 겹쳐서 표시되는 별도의 Canvas에 해당 콘텐츠를 선언해야 합니다.

다음 예제에서는 InkPresenter 화면에서 입력을 캡처한 다음 해당 입력을 사용하여 표시할 스트로크를 만드는 기본적인 방법을 보여 줍니다.

var agCtrl;
var inkPresenter; // Corresponds to InkPresenter element in XAML.
var newStroke = null; // The Stroke variable to use in mouse handlers.
// Specify DrawingAttributes variables.
var daWidth = 2;
var daHeight = 2;
var daColor = "Black";
var daOutlineColor = "Black";

function root_Loaded(sender, args) 
{
    // Get the HTML object that contains the Silverlight plug-in.
    agCtrl = sender.GetHost();
    inkPresenter = sender.findname("inkPresenterElement");
}

// Capture mouse movement when the left button is pressed, and create the stroke.
function InkPresenterMouseDown(sender,args)
{
   inkPresenter.CaptureMouse();
   
   newStroke = agCtrl.content.createFromXaml('<Stroke/>');
   
   var da = agCtrl.content.CreateFromXaml('<DrawingAttributes/>');
   newStroke.DrawingAttributes = da;
   
   // Set the drawing attributes properties.
   newStroke.DrawingAttributes.Width = daWidth;
   newStroke.DrawingAttributes.Height = daHeight;
   newStroke.DrawingAttributes.Color = daColor;
   newStroke.DrawingAttributes.OutlineColor = daOutlineColor;
   
   newStroke.StylusPoints.AddStylusPoints(args.GetStylusPoints(inkPresenter));
   inkPresenter.Strokes.Add(newStroke);
}

// Add the new points to the Stroke.
function InkPresenterMouseMove(sender,args)
{
   if (newStroke != null)
   {
      newStroke.StylusPoints.AddStylusPoints(args.GetStylusPoints(inkPresenter));
   }
}

// Release the mouse button.
function InkPresenterMouseUp(sender,args)
{
   newStroke = null;
   inkPresenter.ReleaseMouseCapture();
}

커뮤니티 추가 항목

추가
표시: