2011-03-20 6 views
5

나는 시험을 준비하고 질문을 공부하고 있습니다. 그러나 나는 내 의견으로는 대답이 틀린 하나의 질문을 가지고있다. 질문에 대한 인증서 및 정답

당신은 Windows 프레젠테이션 파운데이션 (WPF) 응용 프로그램을 만들 에 마이크로 소프트 .NET 프레임 워크 4 사용 : 여기에 정답은 D이다 질문입니다. 응용 프로그램에는 StackPanel 컨트롤이 루트 요소로 sp 인 MainWindow라는 창이 있습니다. Text 속성을 저장하는 TextBlock 컨트롤이 포함 된 Button 컨트롤 을 만들려고합니다. 컨트롤을 동적으로 만들고 컨트롤을 sp에 추가해야합니다.

Button btn = new Button(); 
TextBlock text = new TextBlock(); 
text.Text = "Save"; 
btn.Content = text; 
sp.DataContext = btn; 

B : 당신이 의 생성자 MainWindow를 클래스

(A)에 작성해야하는 코드 세그먼트

Button btn = new Button(); 
TextBlock text = new TextBlock(); 
text.Text = "Save"; 
btn.Content = text; 
sp.Children.Add(btn); 

C :

Button btn = new Button(); 
TextBlock text = new TextBlock(); 
text.Text = "Save"; 
sp.Children.Add(btn); 
sp.Children.Add(text); 

D :

Button btn = new Button(); 
TextBlock text = new TextBlock(); 
text.Text = "Save"; 
btn.ContentTemplateSelector.SelectTemplate(text, null); 
sp.Children.Add(btn); 

제 생각에는 정답은 B입니까? 어떤 sugesstions 있나요?

+0

와 충돌 할 수 있도록

  • ContentTemplateSelector은 기본적으로 null의 함량 비 시각적 렌더링합니다. 다른 답변은 올바로 작동하지 않습니다. – Sonorx

  • +1

    .NET 또는 WPF로 코딩하지 않았지만 B를 선택했습니다. 두 개체의 속성을 올바르게 할당 한 것으로 보입니다. – Blender

    답변

    7

    나는 당신이 옳다고 생각합니다. 때문에 응답 D는 전혀 이해되지 않는다 : 당신이 내용을 정의하고 있기 때문에 당신의 ContentTemplateSelector 필요가 없습니다

    1. 명시 적으로
    2. ContentTemplateSelector이 필요로 할 때 명시 적으로 사용할 수 없습니다, 그것은 ContentControl을에 의해 사용되는 응답 D의 코드가 난 당신이 바로이며, B가 정답이다 생각 NullReferenceException
    3

    지난 주에 동일한 시험에 합격했습니다. 그리고 정답은 B 여야한다는 데 동의합니다. 샘플 응용 프로그램에서 시도해 볼 수 있으며 D가 작동하지 않는 것을 볼 수 있습니다.

    +0

    안녕 Jogy. 시험이 어떻게되었는지 말해 주실 수 있습니까? 연습 테스트에 포함 된 것과 비슷한 질문이 있습니까? 나는 이미 D가 작동하지 않는다는 것을 확인했습니다. –

    +0

    나는이 질문과 다른 질문들도 정확하게 가지고있었습니다. 나는 982 점을 얻었다. – Jogy