2016-07-14 53 views
3

그래서 많은 시간이 흐른 후에도 Wince for C#을 .NET CF 3.5로 작성하고 자체 정의 이벤트 기반의 사용자 정의 컨트롤을 사용합니다. WinForm 컨트롤에. 난 그냥 [DefaultEvent] 속성을 찾을 것 같지 않습니다.WinCE Compact Framework 3.5에서 사용자 정의 컨트롤에 대한 기본 이벤트를 플래그하는 방법

이 속성이 없으면 사람들이 디자이너의 두 번 클릭하기 위해 기본 이벤트가있는 사용자 지정 컨트롤을 어떻게 만들었 을까요? VS2008을 사용하고 있습니다. 어떤 아이디어?

감사합니다.

답변

1

내가 아는 한 디자이너 (분명히 .NET CF에서 실행되지 않음)는 전체 프레임 워크의 컨트롤을 사용합니다. DesigntimeAttributes.xmta을 사용하는 .NET CF에 대한 사용자 지정 특성을 적용하는 일종의 매핑이 있습니다. 이렇게하면 모든 디자이너를 CF로 포팅 할 필요가 없었습니다.

This link은 "보기 클래스 다이어그램"기능을 사용하여 DesigntimeAttributes.xmta을 생성하는 방법을 보여줍니다, 그리고 this link 파일을 편집하는 방법에 대한 몇 가지 추가 정보가 있습니다. 당신이 가지고 있던 genasm.exe 오류로

<Classes xmlns="http://schemas.microsoft.com/VisualStudio/2004/03/SmartDevices/XMTA.xsd"> 
    <Class Name="MyProject.MyCustomControl"> 
    <DefaultEvent>MyDefaultEvent</DefaultEvent> 
    </Class> 
</Classes> 

this link 정보를 포함하고있는 단계가 재현 : 한마디로

, 당신은 같은 것을 사용하여 프로젝트에 DesigntimeAttributes.xmta 파일을 추가합니다. 내가 SqlCeCommand (나는 당신의 CommandCollection 속성이 반환하는 것으로 가정 함)을 반환하는 메서드를 만들었으며 같은 오류가 발생했습니다. 대신 해당 메서드가 DbCommand을 반환하도록 변경하면 오류가 사라집니다.

SqlCeCommandDbCommand (그리고 가족의 다른 모든 유형)으로 바꿀 수 있다면 거기에 가고 싶을 수도 있습니다.하지만 기본 이벤트를 추가하기 만하면 해결 방법이 매우 어려워 보입니다.

+0

안녕하세요 Evenhuis, XMTA 파일을 만든 후'genasm.exe (1) : 오류가 발생했습니다. 오류 MobileScan.dbDataSetTableAdapters.dbTableAdapter.get_CommandCollection을 초기화하는 중 오류가 발생했습니다. 'System.Data, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 969db8053d3322ac, Retargetable = Yes'또는 해당 종속성 중 하나를로드 할 수 없습니다. 시스템이 지정된 파일을 찾을 수 없습니다. 'XMTA 파일을 삭제하면 오류가 제거됩니다. 여기에 알려진 문제입니까? 추신 Build Action을'None'에서'Content'로 바꾼다면 아무런 에러가 없지만 DefaultEvent는 더블 클릭시 컨트롤이 적용될 때 적용되지 않습니다 –

+0

@LionetChen 어셈블리를로드하지 못하는 이유를 생각할 수 없습니다 XMTA의 _because_ ( –

+0

누군가가 같은 문제를 겪었습니다. https://social.msdn.microsoft.com/Forums/en-US/887362ed-4ab1-4671-a485-e86321f6bb62/genasm-error-message-when- add-designtimeattributesxmta-to-my-project? forum = windowsmobiledev –