我有一个名为TextBoxColumn的自定义类作为Follows
public class TextBoxColumn : DataGridTemplateColumn
{
public static readonly DependencyProperty FieldNameProperty = DependencyProperty.Register("FieldName", typeof(string), typeof(TextBoxColumn), new PropertyMetadata(""));
public string FieldName
{
get { return (string)GetValue(FieldNameProperty); }
set { SetValue(FieldNameProperty, value); }
}
}
从XAML创建DataGrid列时:
<DataGrid>
<DataGrid.Columns>
<local:TextBoxControl FieldName="FirstName"/>
<local:TextBoxControl FieldName="LastName"/>
</DataGrid.Columns>
</DataGrid>
在XAML词典中,我为此TextBoxColumn定义了单元格模板:
<DataTemplate x:Key="TextBoxColumn_CellTemplate">
<TextBox Text="{Binding FieldName}"/> <!-- Here is the problem, if I give FirstName instead of FieldName, it works fine -->
</DataTemplate>`
如何获取TextBoxColumn的FieldName属性的值并将其绑定到Text属性?如何在没有C#代码的情况下实现它?
答案 0 :(得分:1)
为TextBoxColumn控件命名,并尝试按元素名称
绑定它的属性<TextBox Text="{Binding ElementName=txtBoxCol, Path=FieldName}"></TextBox>
答案 1 :(得分:0)
如果没有代码,你就无法做到,没有办法绑定绑定的属性(在这种情况下,你希望Binding.Path
成为FieldName
的任何东西。