사용자 컨트롤, 사용자 지정 컨트롤 및 구성 요소의 차이점은 무엇입니까?
이것들은 당신이 프로젝트에 추가 할 수있는 세 가지 다른 것인데, 그 차이를 이해하는지 잘 모르겠습니다. 예를 들어 .NET Framework로 작업 할 때 구성 요소 도구 상자에 모두 표시되는 것 같습니다 Form. 각각에 대한 몇 가지 일반적인 사용 시나리오는 무엇입니까? 차이점은 무엇입니까?
사용자 컨트롤, 사용자 지정 컨트롤 및 구성 요소의 주요 차이점은 상속 트리의 여러 수준에서 상속된다는 것입니다.
MyComponent
|-> Component
MyCustomControl
|-> Control
|-> Component
MyUserControl
|-> ContainerControl
|-> ScrollableControl
|-> Control
|-> Component
따라서 간단히 말해서 다양한 옵션을 사용하여 사전 배선 된 기능의 양이 다릅니다.
다른 옵션은 언제 사용합니까? (이것들은 진실이 아닌 생각과 의견입니다)
- UI없이 기능 (예 : 타이머 구성 요소, 데이터 소스 등) 을 제공하려는 경우 구성 요소를 만듭니다.
- 시각적 모양을 완전히 제어 할 수있는 구성 요소를 만들고 불필요한 기능의 짐을 원하지 않는 경우 사용자 지정 컨트롤을 만듭니다 . 일반적인 경우는 기능이 제한된 간단한 컨트롤 (예 : 버튼)입니다.
- 기존 컨트롤 을 재사용 가능한 구성 요소로 결합 하려는 경우 사용자 컨트롤을 만듭니다 (예 : 목록간에 항목을 이동할 수있는 단추가있는 두 개의 목록).
이것은 CustomControl과 UserControl의 몇 가지 차이점입니다.
커스텀 컨트롤
느슨하게 결합 된 제어 wrt 코드 및 UI
제어에서 파생
ResourceDictionary에서 UI를 정의합니다.
UI는 스킨 가능
동적 레이아웃 있음
다른 프로젝트에서 UI를 변경할 수 있습니다.
완전한 도구 상자 지원
단일 컨트롤을 정의합니다.
더 유연함
==============
사용자 제어
밀접하게 결합 된 제어 wrt 코드 및 UI
UserControl에서 파생
UI를 일반 XAML로 정의
자식 컨트롤은 스킨 가능
정적 레이아웃 있음
UI가 고정되어 다른 프로젝트에서 다른 모양을 가질 수 없습니다.
도구 상자에 추가 할 수 없습니다.
컨트롤 세트를 정의합니다.
사용자 지정 컨트롤처럼 유연하지 않음
Fredrik이 말한 것에 덧붙여, 일반적으로 구성 요소와 사용자 지정 컨트롤은 프로젝트에서 재사용 할 계획 일 때 사용됩니다. 한 프로젝트에서만 사용할 때 사용자 컨트롤을 사용합니다.
내 의견으로는 마지막 진술이 정확하지 않다고 생각합니다. 여러 가지 이유로 사용자 컨트롤을 만듭니다.
주된 이유는 내가 말하면 여러 컨트롤이 함께 그룹화 된 인터페이스를 디자인하기 때문입니다.
먼저 클래스 라이브러리를 만든 다음 여기에 사용자 컨트롤을 추가합니다. 이제 사용자 컨트롤이 작동하는 방식 뒤에있는 논리의 일부를 변경해야하는 경우 매우 쉽게 할 수 있습니다. 또한이 클래스 라이브러리는 여러 번 사용할 수 있습니다.
또한 동일한 고급 라이브러리 내에서 사용자 컨트롤에 대해 공유하고 사용할 수있는 여러 클래스를 가질 수 있습니다.
이것이 내가 사용자 컨트롤을 사용하는 주된 이유입니다. 그리고 사용자 컨트롤 또는 클래스 라이브러리를 변경하는 경우. 일단 당신이 직업을 구축하면. dll은 bin 폴더에서 동적으로 업데이트됩니다.
그래서 내가 이것을 다른 프로젝트에서 참조한다면 그 변경은 새 프로젝트에도 나타날 것입니다.
또한 양식 및 양식에로드 한 항목과 동일한 페인트 루틴을 사용하지 않습니다.
So user controls gives us the ability to be very modular And i Can have multiple user controls that share the basics classes of the class library ... So a user control purpose is just not for one project . It has no limitations in that respect. jeff
The main difference between them- User Control is a page file with extension .ascx which can only be used within a single application or project But custom controls are assemblies(dll files) that can be used in multiple applications.
'Programing' 카테고리의 다른 글
| jQuery를 두 번 선언하는 이유는 무엇입니까? (0) | 2020.10.10 |
|---|---|
| SVN에서 액세스 제어를 설정하려면 어떻게해야합니까? (0) | 2020.10.10 |
| Python에서 Bash '소스'에뮬레이션 (0) | 2020.10.10 |
| 뷰를 다시 렌더링하지 않고 Angular JS에서 URL 업데이트 (0) | 2020.10.10 |
| 헤더 값 : application / vnd.api + json (0) | 2020.10.10 |