2011-03-09 1 views
0

천 줄의 코드가 포함 된 XAML 파일로 작업 해 본 적이 있습니까? (더 구체적으로 드로잉 브러쉬 내 경우에는 전체 응용 프로그램). 이 파일의 크기는 20MB 이상입니다. 언제든지이 항목을 추가/편집하려고하면 Visual Studio 2008이 충돌합니다 (7/10 번). 그런 다음 변경 사항을 저장하고 변경 사항을 저장하려고하면 VS 충돌이 발생할 수 있습니다 (대부분의 경우). 대용량 파일을 VS에서 사용하는 것은 매우 어렵습니다. (블렌드에서도 마찬가지지만 발생 빈도는 거의 없습니다.)
큰 파일을 가지고있는 것이 좋은 코딩 표준에 미치지 못한다는 것을 알고 있습니다. 그러나 우리가 어떻게 든 그런 시나리오에 온다면 우리는 무엇을해야합니까 ???V.V.Big XAML 파일로 작업

내가 마침내 발견 한 것은 KXAML이었습니다. 이것은 꽤 훌륭하게 입증되었습니다. 다른 제안?

업데이트 됨 그 파일의 구조를 변경하거나 다른 방법으로 변경하고 싶지 않습니다. 나는 그 파일을 가지고 일하는 방법을 알고 싶어합니다. (다른 편집자 일 수도 있습니다)

ADD 답변을 보는 중 - 나는이 시점에서 고생하지 않는다고 말합니다. 누군가가 붙어 있다면 그 같은 것을 편집하는 더 좋은 방법입니까?

ADD1 좋아 (이 파일을 분리하는 것은 피할이 문제가되지 솔루션에 v.first 생각 것)! 내 생각에, 나는이 생각에 대해 너무 낙관적이다. canvass를 고려할 때, 나는이 거대한 파일을 나누는 가장 좋은 방법을 요구할 것이다.

+0

파일을 분할 해 보셨습니까? 모든 것은 같은'xaml'에 정의 될 필요가 없습니다. '스타일'과 같은 일부 요소는 별도의 파일로 이동할 수 있습니다. –

+0

당신의 '추가'를 다시하십시오 : 대조적으로,이 시점에서 파일을 분할하지 않으면 진단을 목표로 삼지 않고 증상을 퇴치하는 것입니다. 질병으로 고생하는 경우 의사는 고통을 덜어주기 위해 약물을 공급하지 말고 의사가 처방하기를 원할 것입니다. –

+0

너무 많은 offftrack과 offhand를 얻었다! – Rohit

답변

3

전향적인 접근 방식을 제안하고 적절하게 분류 할 수 없는지 확인해보십시오.

재사용 된 리소스 등을 캡슐화하기 위해 별도의 ResourceDictionary 파일을 정의하십시오. 비슷하게, 파일의 다른 부분을 제거하고 간단히 참조 할 수 있습니다.

이 방법을 사용하면 Brush 인 파일, Style 및/또는 ControlTemplate 등의 파일을 포함 할 수 있습니다.

편집 :

아주 결정적으로 당신이 실제로 파일을 변경하지 않으 없다는 당신의 갱신으로 당

, 그때는 어떻게 같은 큰 파일 작업을 '의 질문에 대답 할 수 있습니까? '다음 단어로 :

큰 어려움을 겪고, 짜증이 나서 감각을 잃고 낭비되는 시간이 많습니다.

+0

이것은 파일의 크기를 줄이는 해결책입니다. 나는 그러한 파일을 다루는 방법을 알고 싶다. (나는 그 파일의 구조에 대해 아무 것도하고 싶지 않다.) – Rohit

+0

그럼 나는 당신이 S.O.L. 누군가의 무능함을 보상하는 것은 좋은 습관이 아닙니다. 올바른 일, 자신의 길, 올바른 방법으로 행동하십시오. –

0

파일을 별도의 리소스 사전 파일로 분할하고 merging them을 하나의 사전으로 분할하는 것에 대해 생각해 봤습니까?

0

왜 그렇게 큰가요 ?? Infragistics 컨트롤 (브러쉬, 컨트롤 스타일 등)의 모든 스타일은 10MB 미만입니다.
스타일 상속을 가능한 자주 사용하는 것을 고려해야합니다. 또한이 파일을 몇 개의 작은 파일로 분할해야합니다. 너무 큰 파일로 작업하는 것은 고문입니다. 모든 파일을 예를 들어 1000 줄보다 작게 만듭니다.

1

저는 VS2010에서 코딩 표준에 대해 정말로 듣지 못한 일부 오래된 동료들의 거대한 xaml 파일과 동일한 문제가있었습니다. 나는 VS2010이 너무 많이 부 풀릴 것을 확신 할 수 있습니다.내가 한 일은 xaml 파일을 여러 파일로 분할 한 다음 자원으로 또는 merged dictionaries으로 추가하는 것입니다.

P. Kaxaml을 의미 했습니까?

+0

예 ... KAXAML – Rohit