서버 저장소를 직접 검색해 답합니다.
Codex가 서버의 소스 코드를 읽기 전용으로 검색하고, 실제 파일과 줄 번호가 확인된 답변을 저장합니다.
기존 질문 검색
In Dreamine, where should I write the code that runs when a button is clicked, and how is it connected to the XAML button?
Put the button’s actual behavior in `SampleCrossUi.Shared/ViewModels/ControlsEvent.cs`, in `ControlsEvent.ClickMe()`. In the ViewModel, declare a `[DreamineCommand("Event.ClickMe")]` partial method; bind the XAML button’s `Command` to the generated `ClickMeCommand`.
Dreamine 입문CommunityToolkit.Mvvm과 Dreamine은 무엇이 다른가요?
핵심 차이는 범위와 구조입니다. CommunityToolkit.Mvvm은 런타임 기능까지 제공하는 범용 MVVM 툴킷인 반면, Dreamine.MVVM.Attributes는 속성과 명령 생성을 표시하는 선언 계층입니다. Dreamine 샘플은 여기에 ViewModelBase·Event 클래스·플랫폼별 UI 계층을 조합하는 구조를 보여 줍니다.
EventEnterprise 예제에서 MainWindow와 MainWindowViewModel은 어떻게 연결되며, ViewModel은 MainWindowEvent를 어떻게 참조하나요?
Enterprise 예제에서는 `App.Customization.Sample.cs`가 DI 컨테이너에서 `MainWindowViewModel`을 resolve한 뒤, 새 `MainWindow`의 `DataContext`에 직접 대입하여 둘을 연결합니다. ViewModel은 `MainWindowEvent` 형식의 private 필드 `_event`를 선언하고 `[DreamineEvent]`를 붙여 참조합니다.
ViewModelDreamineProperty를 사용하면 일반 ViewModel 속성을 직접 작성하는 것과 무엇이 다른가요?
`DreamineProperty`의 핵심 차이는 ViewModel 속성의 반복 코드를 직접 작성하지 않고, 필드에 특성을 붙여 컴파일 시 보조 프로퍼티를 생성한다는 점입니다. 예를 들어 `_message` 필드에 `[DreamineProperty]`를 적용하면 생성기가 명명 규칙에 따라 대응 프로퍼티를 만듭니다. 반면 일반 ViewModel 속성은 프로퍼티 선언과 필요한 동작을 개발자가 직접 구현해야 합니다.
Command[DreamineCommand]를 붙이면 어떤 Command가 자동으로 만들어지나요?
`[DreamineCommand]`를 붙인 매개변수 없는 partial 메서드는 기본적으로 `{메서드명}Command`라는 실행 명령으로 생성됩니다. 예를 들어 `Increment()`에는 `IncrementCommand`, `Toggle()`에는 `ToggleCommand`가 만들어집니다.
ViewModelDreamine에서는 XAML 버튼과 ViewModel의 메서드를 어떻게 연결하나요?
ViewModel의 `partial` 메서드에 `[DreamineCommand("호출 대상")]`를 붙이고, XAML 버튼의 `Command`를 생성된 `<메서드명>Command`에 바인딩합니다. 예: `ClickMe()` → `ClickMeCommand`.
Dreamine 입문Dreamine으로 만든 화면에서 버튼을 눌렀을 때 실행할 코드는 어디에 작성해야 하나요?
버튼 클릭 시 실행할 실제 코드는 XAML 코드 비하인드가 아니라 `SampleCrossUi.Shared/ViewModels/ControlsEvent.cs`의 `ControlsEvent.ClickMe()`에 작성합니다. ViewModel에는 `[DreamineCommand("Event.ClickMe")] private partial void ClickMe();`만 선언하고, XAML은 생성되는 `ClickMeCommand`에 바인딩합니다.
새 질문
코드 요소와 프로젝트 이름을 함께 적으면 더 정확히 검색합니다. 최대 10분 동안 백그라운드에서 저장소를 확인하며, 다른 페이지를 보는 동안 답변이 완성되면 알려드립니다.