본문 바로가기

IT/c#

[wpf] 클립보드에 string data를 저장하자

WPF로 Clipboard 를 사용하여 복사/붙여넣기를 하는 것은 생각보다 매우 간단하다.


System.Windows.Clipboard 클래스 를 사용한다.


1) 복사하기 :

Clipboard.SetText (string text) , Clipboard.SetImage (BitmapSource image) 함수 사용

( 이외에도 SetAudio, SetData, SetDataObject 함수도 존재함)


BitmapImage img = new BitmapImage();

Clipboard.SetImage(img);



2) 붙여넣기 :

Clipboard.GetText(), Clipboard.GetImage(), Clipboard.GetData(), Clipboard.GetDataObject() 등의 함수 사용



BitmapSource source = Clipboard.GetImage();

JpegBitmapEncoder encoder = new JpegBitmapEncoder();

MemoryStream memoryStream = new MemoryStream();


BitmapImage img = new BitmapImage();


encoder.Frames.Add(BitmapFrame.Create(source));

encoder.Save(memoryStream);


img.BeginInit();

img.StreamSource = new MemoryStream(memoryStream.ToArray());

img.EndInit();


memoryStream.Close();


* 사용은 다 비슷비슷하므로 Image 를 예시로 작성해 보았음