0
ListBox에서 인스턴스화 된 여러 사용자 정의 컨트롤이 있습니다. 나는 NavigationCommands.Refresh
에 대한 핸들러를 가지고, (리스트 박스의 ItemTemplate을 내부에서 생성)이 동적으로 생성 된 UserControls 각에서터널링 명령
<Window.CommandBindings>
<CommandBinding Command="NavigationCommands.Refresh" CanExecute="CanAlwaysExecute" />
</Window.CommandBindings>
을 : 나는 NavigationCommands.Refresh
을 제기 나의 창에 버튼이, 그리고 CanExecute
핸들러는 실행 할 수 있도록. 창에서 버튼을 클릭하면 각 사용자 콘트롤에서 설정 한 처리기가 실행되지 않아야합니까? 각 UC로 터널을 내리라는 명령이 필요하지만 그렇지 않습니다.
<UserControl.CommandBindings>
<CommandBinding Command="NavigationCommands.Refresh" Executed="UpdateStatus" CanExecute="CanAlwaysExecute" />
</UserControl.CommandBindings>
....
<Button Width="200" Text="Refresh All" Command="NavigationCommands.Refresh"/>
그래서 어떻게해야합니까? – Echilon
@Echilon : 창의력을 발휘하십시오. 예 : 메인 버튼을 클릭하면 관심있는 모든 컨트롤에 대해 수동으로 명령을 올리십시오. –
그 목록 상자에있는 모든 컨트롤을 통해 루핑, 내 안에 중첩 된 다른 ListBox 찾기 다음 모든 항목을 통해 반복하고 내 usercontrol 찾는 다음 메서드를 호출합니다. 더 우아한 방법이 있습니까? – Echilon