2015-10-07 6 views
-1

Я хочу создать текстовый блок в контроллере с кодом XAML. Можно ли это сделать? Любая другая идея?Как создать текстовый блок в контроллере с XAMLReader

 // Create a string 
     String sb = "<TextBlock Name='NameLabel' HorizontalAlignment='Left' TextWrapping='Wrap' FontSize='37.333' FontFamily='Intel Clear Light' Opacity='0.5' Width='277' Grid.Row='4' Grid.ColumnSpan='3' Grid.Column='1' Text='Name (as per IC)' Margin='1,0,0,80' Grid.RowSpan='2'/>"; 

     // Create a textblock using a XamlReader 
     TextBlock myTextBlock = (TextBlock)XamlReader.Load(sb.ToString()); 

     // Add created button to previously created container. 
     splMain.Children.Add(myTextBlock); 
+0

Как насчет создания объекта TextBlock обычно ('новый TextBlock()' и т.д.)? Или, возможно, используйте привязку данных/шаблонизацию, чтобы WPF создал ее для вас? Это зависит от вашего точного сценария. – vesan

+0

В моем сценарии я хочу нажать XAML-код, который похож на в контроллере и отобразить в XAML. –

+0

Да, я понимаю это из вопроса. Откуда взялась строка XAML? Возможно ли создать ваш элемент в коде? Если нет, что не так с вашим кодом? Это работает? Бросает ли это исключения? – vesan

ответ

0
 I have change my code. And now I have an error of [ splMain.Children.Add(myTextBlock); Additional information: Object reference not set to an instance of an object.] 
     // Create a string 
     String sb = "<TextBlock xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Text=\"Name (as per IC)\" Margin=\"1,0,0,80\" Grid.RowSpan=\"2\"/>"; 

     // Create a textblock using a XamlReader 
     TextBlock myTextBlock = (TextBlock)XamlReader.Load(sb.ToString()); 

     // Add created button to previously created container. 
     splMain.Children.Add(myTextBlock); 

 Смежные вопросы

  • Нет связанных вопросов^_^