Как извлечь элемент пользовательского интерфейса из шаблона данных?

Я использовал следующий код для создания элементов шаблона данных:

 FrameworkElementFactory textCtrl = new FrameworkElementFactory(typeof(TextBox));            
        Binding binding1 = new Binding();
        string path = "Syncfusion";
        binding1.Path = new PropertyPath(path);
        textCtrl.SetValue(TextBox.TextProperty,binding1);
        Binding binding2 = new Binding();
        string path2 = "Text1";
        binding2.Path = new PropertyPath(path2);
        textCtrl.SetValue(TextBox.NameProperty, binding2);
        DataTemplate dt = new DataTemplate();
        dt.VisualTree = textCtrl;

Как получить текстовое поле из шаблона данных..?

Я попробовал следующие ссылки Ссылка 1

Ссылка 2

Но я не понял все правильно...

Я использовал приведенный ниже код в xaml

<DataTemplate>
      <TextBlock Text="{Binding CellBoundValue}" gridcommon:VisualContainer.WantsMouseInput="False"/>
 </DataTemplate>

Может ли кто-нибудь помочь мне в этом?

2 ответа

Решение

Насколько я знаю, Microsoft не рекомендует использовать FrameworkElementFactory, это может несколько раз устареть (не уверен в этом).

Но если вы все равно хотите это сделать, вы должны применить свой DataTemplate для создания экземпляров элементов управления, объявленных в DataTemplate. Вы можете сделать это, например, с помощью ContentControl или ItemsControl.

Другие вопросы по тегам