2016-07-05 7 views
-1

InkCanvas에서 잉크 스트로크를 일부 그렸습니다. 이제 펜 색상을 변경하려고합니다. CopyDefaultDrawingAttributes 및 UpdateDefaultDrawingAttributes를 사용하여 그리는 추가 획의 색상을 변경할 수 있으며 정상적으로 작동합니다. 하지만 이미 StrokeContainer에있는 획의 색상을 변경하려면 어떻게해야합니까? 나는 시도했다 :유니버설 윈도우에서 이미 그린 InkStrokes의 색상을 변경하는 방법

 foreach (InkStroke stroke in inkCanvas.InkPresenter.StrokeContainer.GetStrokes()) 
     { 
      stroke.DrawingAttributes.Color = strokeColour; 
     }; 

이 코드는 예외없이 실행되지만, stroke.DrawingAttributes.Color는 이전 색상을 계속 표시한다.

아이디어가 있으십니까?

감사합니다 ...

로버트

+0

[예제 예제]에 표시된대로 DrawingAttributes 속성을 업데이트하려고 시도 했습니까 (https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.input.inking.inkdrawingattributes .color.aspx)? – Clemens

답변

4

이 직접 스트로크의 DrawingAttributes 속성을 설정할 수 없습니다. 선의 InkDrawingAttributes 사본을 만들어 해당 InkDrawingAttributes 객체에 대해 원하는 값을 설정 한 다음 새 InkDrawingAttributes를 획의 DrawingAttributes에 지정해야합니다.

그래서 당신은이 같은 예를 들어 코딩 할 수 있습니다 자세한 내용은 InkStroke.DrawingAttributes | drawingAttributes property을 참조 할 수 있습니다

foreach (InkStroke stroke in inkCanvas.InkPresenter.StrokeContainer.GetStrokes()) 
{ 
    //stroke.DrawingAttributes.Color = Windows.UI.Colors.Yellow; 
    InkDrawingAttributes drawingAttributes = new InkDrawingAttributes(); 
    drawingAttributes.Color = Windows.UI.Colors.Yellow; 
    stroke.DrawingAttributes = drawingAttributes; 
} 

.

+0

감사 그레이스 - 그게 효과가있다. – Robert

+0

@ 로버트, 잘 됐네, 그게 너의 질문에 대한 대답인가? :) –