Как динамически добавлять атрибут «x: name» в столбец GridViewColumn?

#vb.net #xaml #gridviewcolumn

#vb.net #xaml #столбец gridviewcolumn

Вопрос:

У меня есть эти коды:

 For i = 0 To clmncount
  Dim GridView2 As New GridViewColumn
  GridView2.SetValue(NameProperty, "Grclnm" amp; i)
  datatemple1 = New DataTemplate
  Dim a as New FrameworkElementFactory(GetType(TextBox))
  a.SetValue(Grid.ColumnProperty, 0)
  Dim actualB As New Binding("ActualWidth")
  actualB.ElementName = GridView2.GetValue(NameProperty)
  Dim st As New Style(GetType(TextBox))
  Dim stt As New Setter(TextBox.WidthProperty, actualB)
  st.Setters.Add(stt)
  a.SetValue(TextBox.StyleProperty, st)
  datatemple1.VisualTree = a
  GridView2.Header = "Employee No." amp; x
  GridView2.Width = 99
  GridView2.CellTemplate = datatemple1
  UGridview1.Columns.Add(GridView2)
Next
  

С помощью этих кодов я пытаюсь создать аналогичные коды для этих XAML:

 <Style>
  <Setter Property = "Width" Value ="{Binding ElementName=Grclnm0,Path=ActualWidth}"/>
</Style>
  

Но это

  GridView2.SetValue(NameProperty, "Grclnm" amp; i)
  

VB.Net не работает. Как я могу динамически установить значение «x:name» для столбца GridViewColumn? Я не смог найти решение.

Ответ №1:

Вы могли бы использовать BindingOperations.SetBinding метод и установить Source свойство привязки на Grclnm0 :

 BindingOperations.SetBinding(GridView2, GridViewColumn.WidthProperty, 
    New Customer("ActualWidth") With {.Source = Grclnm0})