【问题标题】:How to add "x:name" attribute to a GridviewColumn dynamically?如何动态地将“x:name”属性添加到 GridviewColumn?
【发布时间】:2020-09-17 05:09:43
【问题描述】:

我有这些代码:

For i = 0 To clmncount
  Dim GridView2 As New GridViewColumn
  GridView2.SetValue(NameProperty, "Grclnm" & 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." & 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" & i)

VB.Net 不工作。如何动态设置 GridviewColumn 的“x:name”值?我找不到解决方案。

【问题讨论】:

    标签: vb.net xaml gridviewcolumn


    【解决方案1】:

    您可以使用BindingOperations.SetBinding 方法并将绑定的Source 属性设置为Grclnm0

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

    【讨论】:

      猜你喜欢
      • 2011-01-15
      • 2012-01-12
      • 2012-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-30
      • 1970-01-01
      相关资源
      最近更新 更多