2012-02-24 8 views
8

이, 비주얼 스튜디오는 추가 내 XAML에 다음은 방법 : 엠씨 추가에서 Visual Studio를 XAML 편집기를 중지하십시오 XAML 페이지가 열려있는 동안 내 윈도우 폰 응용 프로그램을 실행할 때마다 무시 가능한

mc:Ignorable="d" 
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
d:DesignHeight="768" 
d:DesignWidth="480" 

은 어떻게 중지 할 수 있습니다 그렇게하는 것에서? 나는 그것을 지키지 않아도된다는 것을 안다.하지만 내가 필요로하지 않는다면 그것을 내 코드에서 원하지 않는다.

감사

답변

0

나는 주어진 XAML 페이지에 mc:Ignorable를 추가 Visual Studio를 XAML 편집기를 중지 구성 옵션 또는 레지스트리를 찾을 수 없습니다. 당신이 그것을 추가 비주얼 스튜디오를 막을 수

가능한 방법은 다음과 같습니다

  • 응용 프로그램 실행 비주얼 스튜디오 (자원 here)를 확장하여 응용 프로그램을 실행하기 전에 자동으로 XAML 페이지를 닫기 전에 수동으로 XAML 페이지 닫기 또는 매크로 사용 (Visual Studio 11 이상에서 매크로 제거)
  • XAML을 편집하기위한 편집기를 설정하여 XAML 편집기에서 일반 텍스트 편집기를 사용하기 만하면됩니다. (리소스 herehere)
  • 응용 프로그램 또는 게시 빌드 단계에서 XAML 파일을 편집하여 추가 된 XAML을 제거합니다. 부분 코드 스 니펫은 here입니다. 응용 프로그램 접근 방식을 사용하는 경우 파일을 편집 한 다음 관련 컨트롤을 다시로드해야합니다. 게시 빌드 이벤트에 대한 정보는 배치 파일을 사용하는 경우 How to: Specify Build Events (C#)Gotcha! Visual Studio Pre/Post-Build Events에서 사용할 수 있습니다.

필요 여부는 Visual Studio 디자이너에게 지정된 디자인 타임 너비와 높이가 필요한지 여부에 대한 유스 케이스에 달려 있습니다. 이는 결정입니다. 자세한 내용은 속성 자체에 대해서는 mc:Ignorable Attribute을, d:DesignWidthd:DesignHeight에 대한 추가 정보는 Stackoverflow post을 참조하십시오.

+0

이들은 해킹이 많고 해결 방법이 많습니다. Visual Studio에서 내 XAML에 마크 업을 추가 할 때가 싫지만,이 모든 번거 로움을 겪을만한 가치가 없습니다. 감사합니다. – TheBlueSky

2

미리 정의 된 문서를 만들 때 Visual Studio는 기본 템플릿을 기본으로 사용합니다. WPF UserControl을위한 비주얼 스튜디오 2010 사용자 지정 템플릿에 대한 예를 들어

보인다 : 내 PC에

<UserControl x:Class="$rootnamespace$.$safeitemname$" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      mc:Ignorable="d" 
      d:DesignHeight="300" d:DesignWidth="300"> 
    <Grid> 

    </Grid> 
</UserControl> 

파일 위치 : C : \ 프로그램 파일 마이크로 소프트 비주얼 스튜디오 \ (86) 10.0 \ Common7 \ IDE \ ItemTemplatesCache \ CSharp \ WPF \ 1033 \ WPFUserControl.zip \ UserControl1.xaml

Microsoft Team이 기본적으로이 네임 스페이스를 포함하기로 결정했음을 알 수 있습니다. Windows Phone 프로젝트 용 템플릿을 찾을 수 있다고 생각합니다. Visual Studio 설치 폴더를 살펴보고 모든 종류의 문서에 대해 항상 고유 한 템플릿을 만들고 사용할 수 있습니다.

그리고 가장 깔끔한 것으로 나타났습니다. 템플릿 업데이트를 받기 위해 Visual Studio를 다시 시작할 필요가 없습니다. 방금 mc:Ignorable을 기본 해제에서 제거하고 새로운 UserControl을 만들려고했습니다. 업데이트 된 템플릿 파일을 사용하여 만들어 졌으므로 Visual Studio 2010에서 즉시 변경 사항을 적용합니다. 이는 Microsoft 팀에 좋은 점수입니다.

"C : \ 프로그램 파일 마이크로 소프트 비주얼 스튜디오 \ (86) 10.0 \ Common7 \ IDE \ ItemTemplatesCache \ CSHARP \"가능한 모든 템플릿 기술 /이 폴더 아래에 프레임 워크별로 그룹화되어 같은


이 보이는

+0

새 파일을 만들 때 XAML에 'mc : Ignorable'및 친구들을 포함시키는 것에 대해 이야기하는 것이 아닙니다. 다시 돌아가서 질문을 다시 읽은 경우 페이지가 열려있는 동안 (그리고 활성 상태 인 경우) 응용 프로그램을 실행할 때마다 이러한 내용이 내 XAML에 삽입되었다고 언급했습니다. – TheBlueSky

+0

Ok. 응용 프로그램을 중지하면 태그는 여전히 XAML에 있거나 자동으로 제거됩니까? Vsual Studio가이 태그를 추가하는 이유를 상상할 수 있습니다. 또는 XAML을 컴파일/구문 분석하는 동안 일부 상태/논리를 보장해야하지만 VS가이 내용을 제거하지 않는 경우 이는 분명히 버그입니다. – sll

+0

아니요, 제거되지 않습니다. 그 추가 된 것들은 디자인보기에 중요 할 수도 있지만 거의 사용하지 않습니다 ... 그것은 어쨌든 그것을 가지고 나에게 이해가되지 않습니다 ...하지만 뭐든지, 주위에 방법이없는 것 :) – TheBlueSky