vb.net - 如何动态地将“x:name”属性添加到 GridviewColumn?
问题描述
我有这些代码:
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”值?我找不到解决方案。
解决方案
您可以使用该BindingOperations.SetBinding
方法并将Source
绑定的属性设置为Grclnm0
:
BindingOperations.SetBinding(GridView2, GridViewColumn.WidthProperty,
New Customer("ActualWidth") With {.Source = Grclnm0})
推荐阅读
- algorithm - 相对于其他两个点的位置移动一个点的算法,
- python - 本地 python 包安装不再复制包?
- sql - Presto SQL:“日期”的占位符,必须大于任何其他日期
- c# - AddForceExplosion 仅影响 y 轴统一
- monetdb - MonetDB 设置特定的嵌入式 python 版本
- mysql - 如何从文本文件中删除特殊字符
- database - python - 如何使用PyMongo有条件地从一个集合中复制字段并将它们添加到MongoDB中的另一个?
- laravel - 如何查询存储在数据库中的会话
- javascript - 模拟类中的静态属性未定义?(笑话)
- python - 为什么 xgboost.get_booster().get_score() 不为其中一个变量返回任何值?