2012-06-08 2 views
1

이 종류의 approach을 사용하여 내 WPF 응용 프로그램의 창 위치 (Windows.TopWindow.Left)를 저장하려면 IsolatedStorage을 사용했습니다.브러시를 IsolatedStorage에 저장

이제 격리 보관소에 항상 Brush을 저장하고 싶습니다. 사용자 선택에 따라 SolidColorBrush 또는 LinearGradientBrush 일 수 있습니다.

SolidColorBrush의 경우 RGB 색상의 값을 3 개만 저장할 수 있지만 어떻게 처리합니까? LinearGradientBrush?

Brush 개체를 직렬화 할 수 있다고 생각하지만 실제로 붙어 있습니다.

내 질문은 : IsolatedStorage에 브러시를 저장할 수 있습니까?

IsolatedStorage을 선택했는데, 내 응용 프로그램은 보통 설치없이 (사용자 정의 소프트웨어 배포 프로그램을 사용하여 클라이언트에 배포 됨) 단일 exe 여야하기 때문에 보통 데스크톱에서 실행됩니다. 응용 프로그램은 Active Directory 사용자에 대한 올바른 자격 증명 정보를 사용자에게 제공합니다.

편집 : 사용자 정의를 저장하기 위해 제공

다른 솔루션을 환영합니다!

답변

-1

브러시 및 기타 준 네이티브 그리기 개체는 직렬화 할 수 없습니다. 따라서 영구 또는 비 프로세스 저장소에 저장할 수 없습니다.

제한된 개체가있는 것처럼 보이므로 모든 속성을 가져 와서 손쉽게 저장할 수 있어야합니다. 스트림에 저장되고 해당 유형의 팩토리로 작동 할 수있는 직렬화 가능 헬퍼/래퍼 클래스를 작성하는 것은 옵션 일 수 있습니다.

+1

필자는이 'asnwer'코드를 사용하여 'Brush'를 직렬화/역 직렬화하여 훌륭한 작업을 수행했습니다. http://stackoverflow.com/questions/4488476/how-can-i-serialize-xaml-brush –

-1

먼저이 정보를 저장하기 위해 IsolatedStorage가 아닌 사용자 범위 설정을 사용합니다. 둘째, 브러시를 직렬화 할 수없는 경우 사용자가 입력 한 정보를 저장하여 브러시를 선택하거나 만들 수 있습니다. 기존 리소스에서 브러시 만 선택하면 해당 리소스의 키를 저장하고 rgb 값을 입력 할 수 있습니다 색상을 선택하고, RGB 값을 저장하고, LinearGradientBrush를 정의하기 위해 무엇을 하든지 입력 값을 저장하면됩니다.

+0

나는이 asnwer 코드를 사용하여 훌륭한 작업을 수행하는'Brush'를 serialize/deserialize했습니다. http://stackoverflow.com/questions/4488476/how-can-i-serialize-xaml-brush 어쨌든 IsolatedStorage는 사용자 범위입니다. –

관련 문제