>

WPF를 처음 접했고 여러 사용자 컨트롤이있는 창을 표시하고 싶었습니다.

example.xaml

<DockPanel>
<Border x:Name ="TopRegion" DockPanel.Dock = "top">
    <local:userControl1/>
 </Border>
<Border x:Name ="leftRegion" DockPanel.Dock = "left">
    <local:userControl2/>
 </Border>
</DockPanel>

usercontrol1과 usercontrol2는 동일한 프로젝트의 다른보기입니다. 즉, usercontrol1.xaml 및 usercontrol2.xaml입니다.

문제는 내가 usercontrol 를 변경해야한다는 것입니다  와이즈 비츠   leftRegion 에서   usercontrol2 로  프로그래밍 방식으로 런타임 중에.

example.xaml.cs 프로그램에서이를 달성하는 방법

usercontrol3

  • 답변 # 1

    당신은 이미 Border 를지었습니다.  leftRegion,이 Border 를 사용할 수 있습니다  같은 새 아이를 설정

    leftRegion.Child = new userControl3();
    
    

    프로그래밍 방식으로 코드 숨김.

    이것은 userControl2 인스턴스를 교체한다는 의미입니다   Border 의  새로운 userControl3 인스턴스 .

  • 답변 # 2

    이것은 합법적 인 요청이지만 XAML 및 데이터 바인딩의 논리와 교차하므로 최종 사용자에게 동일한 효과를 주지만 더 많은 대안을 제시하는 대안을 제안합니다. XAML.

    솔루션은 간단합니다. XAML에 두 컨트롤이 모두 있고 Visibility 를 전환하면  하나 또는 다른 컨트롤을 표시해야하는지 여부에 따라 다릅니다.

  • 이전 jquery에서 $post를 사용하여 업로드 된 파일을 처리하기 위해 PHP 파일로 보내는 방법은 무엇입니까?
  • 다음 쿠 렌토 복합 코드