나는 편리한 개발 환경을, 그래서하지 않는이되는 비 정확하지만,이 방법은 당신을 위해 작동과 나이 같은 일을 할 선호하는 방법입니다한다.
내 사과 당신이 당신의 낮은 수준의 제어에 속성으로 텍스트 상자에 대한 핸들을 주입한다 무엇을해야하는지 같은 소리, 이러한 이해와
<Page2>
<Textbox ID="MyTextbox" />
<Control ID="Page1">
<Button ID="MyButton" />
</Control>
</Page2>
:
다음은 계층 구조에 대한 이해 의사 코드 마크 업을 사용하고
// Page1 code
public TextBox TextboxToUpdateWhenYouPressTheButton { get; set; }
Click()
{
// Perform Not Null Check and handle it somehow if it is null.
// Set the text.
TextboxToUpdateWhenYouPressTheButton.Text = "This is the text that goes into the textbox.";
}
이렇게하면 페이지 1을 만들 때마다 내부 컨트롤의 새 TextboxToUpdateWhenYouPressTheButton 속성에 텍스트 상자의 핸들을 전달하기 만하면됩니다. 궁극적으로 아이디어는 동일하게 유지되며, 지금은 직접이 속성을 통해서만 액세스합니다. 이렇게하면 텍스트 상자가 호출되는 것과 관계없이 여러 화면에서 컨트롤을 사용할 수 있습니다. 이렇게하면 페이지가 컨트롤을 "소비"하기 때문에 먼저이 텍스트 상자를 "등록"해야합니다.
Page1에서 실제로 열리는 Page2는 보이지 않고 열립니다. 주된 문제점은 Page2가 이미로드되어 열렸습니다. – Rafal
Page1과 Page2가 동시에 열려 있습니까? Page1에서 버튼을 클릭했지만 Page2가 이미 열려있는 경우 조금 혼란스러워합니다. – Jaxidian
Page1은 내부에 단추가있는 UserControl입니다. Page2는 Page1의 부모입니다. 그러나 나는 Click 이벤트 마녀 패스를 사용하고 있기 때문에 Parent 속성을 호출 할 수 없다 : AddButtonControl_Click (객체 발신자, RoutedEventArgs e) – Rafal