2012-10-25 4 views
0

기본적으로 나는 메인 윈도우 페이지와 사용자 정의 컨트롤 페이지 인 설정 페이지를 가지고 있습니다. 기본 창에있는 설정 버튼을 클릭하면 기본 페이지의 모눈에 설정 페이지 사용자 정의 컨트롤이 표시됩니다.Usercontrol WPF를 사용하여 반환하는 방법

한편, 설정 페이지에는 버튼이 취소됩니다. 버튼이 있습니다. 클릭하면 설정 페이지 사용자 정의 컨트롤이 그리드에서 사라지고 기본 창에서 어떻게 나타나는지 반환합니다. 그렇다면 사용자 컨트롤 코드에 무엇을 쓸 수 있습니까? 아니면 다른 방법? 감사.

내 주요 창

<Grid Name="grid1"> 
    <TextBlock Text="Hello World" /> 
    <TextBlock Text="Welcome" /> 
    <Button Name="settingBtn" Content="Setting" Click="settingBtn_Click" /> 
</Grid> 

내 메인 윈도우 코드 CS :

private void notifyBtn_Click(object sender, RoutedEventArgs e) 
    { 

     UserControls.NotifySetting Set = new UserControls.NotifySetting(); 
     grid1.Children.Clear(); 
     grid1.Children.Add(Set); 

    } 

내 UserControl을 페이지 :

<Grid > 
    <RadioButton Name="r1" Content="Red Color Font" /> 
    <RadioButton Name="r3" Content="Blue Color Font" /> 
    <Button Name="saveBtn" Content="Save" Click="saveBtn_Click" /> 
    <Button Name="cancelBtn" Content="Cancel" Click="cancelBtn_Click" /> 
</Grid> 
+0

귀하의 질문은 무엇입니까? 설정 사용자 정의 컨트롤을 숨기는 방법은 무엇입니까? – Jan

+0

나는 몇 가지 데이터 ABC와 그리드가 .... 버튼을 클릭하면 그리드는 사용자 정의 컨트롤을 표시합니다. 사용자 정의 컨트롤에서 취소 버튼을 클릭하면 격자에 ABC가 다시 표시됩니다. – 0070

+0

나는 만들고 기본 창의 생성자에서 usercontrol을 추가하고 클래스 변수에 참조를 저장합니다. 버튼은'Visibility' 속성 만 변경합니다. – Jan

답변

2

당신은 취소 버튼을 클릭 이벤트에서이 넣을 수 있습니다 :

(this.Parent as Panel).Children.Remove(this) 
+0

thx,하지만 다른 문제가 발생합니다. 취소를 클릭하면 사용자 정의 컨트롤이 사라지지만 grid1의 원래 자식도 grid1.Children.Clear()로 인해 사라집니다. 제 정리 된 그리드 아이를 되 찾을 수있는 해결책이 있습니까? – 0070

+0

표를 지우는 대신 usercontrol을 제거하기 만하면됩니다. 그것이 제가 게시 한 라인이하는 것입니다. usercontrol의 부모 (그리드 컨테이너와 그것을 패널로 캐스팅합니다. 패널은 Grid와 Stackpanel이 상속하는 기본 컨테이너 클래스입니다). – sam1589914

관련 문제