2012-02-20 4 views
1

일부 텍스트 상자와 일부 단추가있는 사용자 지정 사용자 정의 컨트롤이 있습니다. ItemsControl에의 DataContext에 데이터 집합에서 테이블사용자 지정 사용자 정의 컨트롤, wpf에서 단추 클릭 이벤트

<ScrollViewer Grid.Column="1" 
       VerticalScrollBarVisibility="Auto" 
       HorizontalScrollBarVisibility="Auto" 
       MaxHeight="300" Width="Auto" 
       HorizontalAlignment="Left"> 
    <StackPanel x:Name="MyStackPanel" 
       Margin="10,0,10,0" 
       MaxHeight="300" Width="Auto"> 
     <ItemsControl ItemsSource="{Binding}" 
         x:Name="MyItemsControl" 
         BorderThickness="0" 
         Background="Transparent"> 
      <ItemsControl.ItemTemplate> 
       <DataTemplate> 
        <StackPanel> 
         <local:MyCustomControl/> 
        </StackPanel> 
       </DataTemplate> 
      </ItemsControl.ItemTemplate> 
     </ItemsControl> 
    </StackPanel> 
</ScrollViewer> 

: 내 기본 응용 프로그램 (MainWindow.xaml)에서이 같은이 컨트롤을 사용합니다. 사용자 지정 컨트롤의 각 텍스트 상자는 테이블의 일부 필드에 바인딩됩니다. MainWindow.xaml.cs의 사용자 정의 컨트롤에서 코드 뒤에있는 사용자 정의 컨트롤이 아닌 일부 버튼의 클릭 이벤트를 구현하려고합니다. 내가 어떻게 해? 덕분에 .

답변

2

사용자 지정 컨트롤에 새 이벤트를 만들고이 이벤트를 사용자 지정 컨트롤의 코드 숨김 단추의 click 이벤트에서 발생시켜야합니다.

+0

사용자 지정 컨트롤의 코드에서 MainWindow.xaml.cs에서 일부 작업을 수행해야하므로 click 이벤트를 구현할 수 없습니다. 그러나 MainEndow.xaml에서는 ItemTemlate에 있기 때문에 사용자 정의 컨트롤의 button.click 이벤트에 접근 할 수 없습니다. ..... –

+0

@ND : 사용자 정의 컨트롤에 새 이벤트를 선언 할 수 있으며이 이벤트를 시작할 수 있습니다 귀하의 사용자 정의 컨트롤 뒤에 코드. 그런 다음 기본 창에서이 새 이벤트를 구독 할 수 있습니다. –

+0

고마워요. 그럴 것입니다 .... –

관련 문제