#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})