【发布时间】:2011-12-13 02:09:23
【问题描述】:
我有一个 WPF DataGrid 模板列,其中包含来自 wpf 工具包的 AutoCompleteBox 的 DataTemplate。在 RowEditEnding 事件和验证过程中,我无法看到模板列中的内容。
<DataGridTemplateColumn Header="Account Type" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<toolkit:AutoCompleteBox Text="{Binding Path='Account Type'}" Populating="PopulateAccountTypesACB" IsTextCompletionEnabled="True" BorderThickness="0" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
{
if ((value as BindingGroup).Items.Count == 0)
return new ValidationResult(true, null);
DataRowView row = (value as BindingGroup).Items[0] as DataRowView;
if (row != null)
{
if (ValidateAccountName(row.Row.ItemArray[0].ToString()))
{
return new ValidationResult(true, null);
}
else
{
return new ValidationResult(false,
"Account Name must be between 1 and 100 Characters.");
}
}
else
return new ValidationResult(true, null);
}
当我在创建 DataRowView 后在我的验证函数中放置一个断点时,模板列是空的。我如何获得它的内容?
【问题讨论】:
-
明确一点,您希望用户输入或选择的值?
-
我想要用户输入的值。
标签: c# wpf datagrid datagridtemplatecolumn