홈>
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
로
프로그래밍 방식으로 런타임 중에.
usercontrol3
-
답변 # 1
-
답변 # 2
이것은 합법적 인 요청이지만 XAML 및 데이터 바인딩의 논리와 교차하므로 최종 사용자에게 동일한 효과를 주지만 더 많은 대안을 제시하는 대안을 제안합니다. XAML.
솔루션은 간단합니다. XAML에 두 컨트롤이 모두 있고
Visibility
를 전환하면 하나 또는 다른 컨트롤을 표시해야하는지 여부에 따라 다릅니다.
관련 질문
- c# - WPF ListView 가로 스크롤 막대는 세로 스크롤이 완료되지 않으면 표시되지 않습니다
- c# - 값에 따라 WPF DataGrid 열의 이미지 변경
- wpf - xaml - c #에서 updatesourcetrigger ="explicit"를 사용하여 텍스트 상자의 사용자 입력을 확인하는 방법은 무엇입니까?
- c# - 자식 요소 내부에 속성을 바인딩하는 방법은 무엇입니까?
- c# - 슬라이더 썸을 끌 수 없습니다
- c# - WPF에서 StackPanel 방향 가로 시작 오른쪽에서 왼쪽으로
- c# - MahApps TabItem의 텍스트 색상을 변경하는 방법
- c# - xaml + awesome - 트리거시 스타일 변경
- c# - (유니버설 windows 앱) systemnullreferenceexception - 개체 참조가 개체의 인스턴스로 설정되지 않았습니다
- revit api wpf c # - 목록 상자의 확인란에 대한 모두 선택 버튼
당신은 이미
Border
를지었습니다. leftRegion,이Border
를 사용할 수 있습니다 같은 새 아이를 설정프로그래밍 방식으로 코드 숨김.
이것은
userControl2
인스턴스를 교체한다는 의미입니다Border
의 새로운userControl3
인스턴스 .