WPF 응용 프로그램이 있고 MVVM을 구현하려고합니다. 기본 창에는보기 모델과 사용자 지정 사용자 정의 컨트롤이 있습니다. 이 사용자 정의 컨트롤은 텍스트 상자와 버튼을 포함하고 있으며, 메인 부모 윈도우와 데이터 인터페이스를 공유합니다. 모두 좋다 ...중첩 된 UserControls에 대한 WPF, MVVM 및 이벤트 처리
나는 viewmodel 내에서 변수에 텍스트 상자를 바인딩 할 수 있었고 성공적으로 작동합니다. 하지만 ... 내 인생에서 볼 때 이벤트 핸들러를 버튼에서 뷰 모델로 바인딩 할 수 없습니다. 다음 오류가 계속 발생합니다.
Unable to cast object of type 'System.Reflection.RuntimeEventInfo' to type 'System.Reflection.MethodInfo'.
나는 이것이 MVVM을 처음 사용하는 사람들에게 공통적 인 문제라는 것을 알고 있습니다. 나는 웹을 샅샅이 뒤졌으며 아무것도 작동하지 않는 것 같다. 아무도 내가 잘못하고있는 것을 설명 할 수 있을까? 메인 창 :
이<Window x:Class="Mvvm.View.MainWindowView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:view="clr-namespace:ZeeZor.Kiosk.Mvvm.View"
WindowStyle="None"
WindowState="Maximized" >
<Grid >
<view:ControlPanelView
Margin="5, 0, 5, 0"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" >
</view:ControlPanelView>
</Grid>
</Window>
UserControl을 :
<UserControl x:Class="Mvvm.View.ControlPanelView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" TextAlignment="Right" Text="{Binding Total}" Margin="0,5,20,5" />
<Button Grid.Row="1" Content="Test" Click="{Binding Path=OnClick}" Width="220" Height="100"/>
</Grid>
</UserControl>
저는 Click 속성이 Click이라는 단어를 사용해야한다고 생각하지 않습니다. Click = "OnClick" –