- html - 我的下拉菜单的内容关闭得太快
- c# - 使用 Html Agility Pack 从网页中的表中获取值而不使用 "SelectNode'
- html - 内容容器下的 CSS 下拉菜单
- html - 如何停止嵌套列表重叠父列表?
我一直在 Internet 上到处寻找关于 FrameworkElementFactory
类的适当文档,但我似乎找不到有关它的适当教程或有用信息。
请问对这个问题了解更多的人可以给我更多的信息吗?这是我到目前为止从 THIS 问题中发现的内容:(感谢 Bob)
将 ItemsSource 绑定(bind)到 myDataGrid
:
Binding dataGridItemsSourceBinding = new Binding("MyItemsSourceName");
myDataGrid.SetBinding(DataGrid.ItemsSourceProperty, datagridItemsSourceBinding);
创建一个 DataGridTemplateColumn
DataGridTemplateColumn templatecolumn = new DataGridTemplateColumn() {
Header = "myColumnName", // Add the name of your column here
};
当您在 DataGrid 列的 DataCell 中显示值时创建数据模板
// Displaying Template for when you display the DataCell in the DataGridColumn
// Create a Data Template for when you are displaying a DataGridColumn
DataTemplate textBlockTemplate = new DataTemplate();
// Create a Framework Element for the DataGridColumn type (In this case, a TextBlock)
FrameworkElementFactory textBlockElement = new FrameworkElementFactory(typeof(TextBlock));
// Create a Binding to the value being displayed in the DataGridColumn
Binding textBlockBinding = new Binding("myPropertyName");
// Assign the Binding to the Text Property of the TextBlock
textBlockElement.SetBinding(TextBlock.TextProperty, textBlockBinding);
// Set the DataGridColumn to stretch to fit the text
textBlockElement.SetValue(TextBlock.HorizontalAlignmentProperty, HorizontalAlignment.Stretch);
// Add the TextBlock element to the Visual Tree of the Data Template
textBlockTemplate.VisualTree = textBlockElement;
// Add the Data Template to the DataGridColumn Cell Template
templatecolumn.CellTemplate = textBlockTemplate;
为编辑 DataGrid 列的 DataCell 中的值创建数据模板
// Editing Template for when you edit the DataCell in the DataGridColumn
// Create a Data Template for when you are displaying a DataGridColumn
DataTemplate textBoxTemplate = new DataTemplate();
// Create a Framework Element for the DataGrid Column type (In this case, TextBox so the user can type)
FrameworkElementFactory textBoxElement = new FrameworkElementFactory(typeof(TextBox));
// Create a Binding to the value being edited in the DataGridColumn
Binding textBoxBinding = new Binding("myPropertyName");
// Assign the Binding to the Text Property of the TextBox
textBoxElement.SetBinding(TextBox.TextProperty, textBoxBinding);
// Set the DataGridColumn to stretch to fit the text
textBlockElement.SetValue(TextBlock.HorizontalAlignmentProperty, HorizontalAlignment.Stretch);
// Add the TextBox element to the Visual Tree of the Data Template
textBoxTemplate.VisualTree = textBoxElement;
// Add the Data Template to the DataGridColumn Cell Editing Template
templatecolumn.CellEditingTemplate = textBoxTemplate;
将完成的 DataGridColumn 添加到您的 DataGrid
// Add the completed DataGridColumn to your DataGrid
myDataGrid.Columns.Add(templateColumn);
最佳答案
请引用此主题:Purpose of using FrameworkElementFactory
目前微软不推荐使用FrameworkElementFactory
关于c# - FrameworkElementFactory 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35209273/
我一直在 Internet 上到处寻找关于 FrameworkElementFactory 类的适当文档,但我似乎找不到有关它的适当教程或有用信息。 请问对这个问题了解更多的人可以给我更多的信息吗?这
我编写了一个片段来通过 c# 代码创建自己的 DataTemplate。我将它添加到 datagrid 列的编辑模板中。 当我调用 object templateContent = tc.CellTe
我正在尝试在代码后面以编程方式应用数据模板。我已经很好地设置了属性,但我仍然坚持如何添加点击事件。请问我该怎么做? 正在复制的 Xaml 代码 我现在拥有的 va
我正在尝试使用 FrameworkElementFactory 在代码中为列表框设置数据模板,我在数据模板中有一个复选框,我只需要设置复选框的字体大小。 这是代码。 FrameworkElementF
我有一个带有一个 GridViewColumn 的 ListView GridViewColumn gvc = new GridViewColumn(); DataTe
在 GirdView 中,某些列的文本应该右对齐。为此,我创建了一个 DataTemplate,其中包含一个 TextBlock。 Binding bd = new Binding("path");
我有一个FrameworkElement,例如带有子元素的StackPanel,我需要创建一个DataTempltate,其VisualTree属性是我的 FrameworkElement。要完成这项
简而言之,我正在将静态 XAML 描述 UI 转换为动态创建的 UI。这是我想在 c# 中复制的 XAML 代码:
我正在使用 Framework ElementFactory 在 DataTemplate 中创建图像。尝试处理 Image 类型的 MouseDown 事件时,抛出异常 - “Handler Typ
我是一名优秀的程序员,十分优秀!