I am preparing for an exam and studying questions. However I have one question which in my opinion the answer is wrong. Here’s the question where the correct answer is D:
You use Microsoft .NET Framework 4 to
create a Windows Presentation
Foundation (WPF) application. The
application has a window named
MainWindow that has a StackPanel
control named sp as the root element.
You want to create a Button control
that contains a TextBlock control with
the “Save” Text property. You need to
create the control dynamically and add
the control to sp. Which code segment
should you write in the constructor of
the MainWindow class
A:
Button btn = new Button();
TextBlock text = new TextBlock();
text.Text = "Save";
btn.Content = text;
sp.DataContext = btn;
B:
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);
In my opinion the correct answer is B? Do you have any sugesstions?
I think you’re right. Answer D makes no sense at all, because:
ContentTemplateSelector, since you’re defining the content explicitlyContentTemplateSelectorshouldn’t be used explicitly, it’s used by ContentControl when it needs to render non-visual contentContentTemplateSelectoris null by default, so the code in answer D would crash with aNullReferenceException