DataGrid 相关总结
DataGrid 在AutoGenerateColumns=True时 会根据ItemsSource绑定的类型自动生成列但这个过程比较早,在windows.load之前,
因此事件绑定无法执行, 只能给他的AutoGeneratingColumn赋成员函数,但是在类的xaml写还可以,若要在DataTemplate中写的话,
无法赋予成员函数,因为改为在转换中进行赋值。
ItemsSource="{Binding RelativeSource={RelativeSource Self}, Converter={StaticResource DataGridItemSourceConvert}}"
public class DataGridItemSourceConvert : IValueConverter
{
#region IValueConverter 成员
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string str = value.GetType().ToString();
if (value.GetType() == typeof(DataGrid))
{
DataGrid grid = value as DataGrid;
string strtype = grid.DataContext.GetType().ToString();
if (grid.DataContext.GetType() == typeof(SignQueryViewModel))
{
SignQueryViewModel model = grid.DataContext as SignQueryViewModel;
grid.AutoGeneratingColumn += model.DG1_AutoGeneratingColumn;
return model.tableList;
}
else
{
}
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return null;
}
#endregion
}

浙公网安备 33010602011771号