2012-05-30 22 views
0

我工作在VB.Net w/WPF,我需要在运行时(在代码隐藏)与每个网格单元格中的文本能够包装创建一个DataGrid。我发现了很多示例,说明如何在XML中执行此操作,但我无法找到任何解释在代码隐藏中如何完成的任何操作。我试图弄清楚DataGridTemplateColumn,CellTemplate和DataTemplate如何一起工作。任何帮助,将不胜感激。如何在代码隐藏中设置DataGrid中的文本包装?

我认为这等同于我想要做的事:

<DataGridTemplateColumn> 
<DataGridTemplateColumn.CellTemplate> 
    <DataTemplate> 
    <TextBlock TextWrapping="Wrap" /> 
    </DataTemplate> 
</DataGridTemplateColumn.CellTemplate> 
</DataGridTemplateColumn> 

更新:

我已经取得了一些进展,但细胞文字环绕仍然没有工作.. 。这是我到目前为止:

Dim grid As New DataGrid 
grid.AutoGenerateColumns = False 

Dim dgtc As New DataGridTemplateColumn 
dgtc.Header = "Test" 
dgtc.Width = 200 

Dim factory1 As New FrameworkElementFactory(GetType(TextBlock)) 

Dim b1 As New Binding("WrapDirection.Right") 

factory1.SetValue(TextBlock.TextWrappingProperty, b1) 

Dim dt As New DataTemplate 

dt.VisualTree = factory1 

dgtc.CellTemplate = dt 

grid.Columns.Add(dgtc) 

我认为问题是与绑定和textblock属性。像这样的东西会更有意义,但它不工作...

Dim b1 As New Binding("Wrap") 

factory1.SetValue(TextBlock.TextWrapping, b1) 
+0

我发现这篇文章:什么是代码背后的datagridtemplatecolumn,以及如何使用它? http://stackoverflow.com/questions/1754608/what-is-the-code-behind-for-datagridtemplatecolumn-and-how-to-use-it不幸的是,我仍然无法理解如何让这个工作DataGrid单元格的文本块。 – zzMzz

回答

相关问题