如何添加 2 个字段的内容以在 XAML 代码中获取摘要?
How to add contents of 2 fields to get summary in XAML code?
我想知道如何在 XAML 代码中获取列摘要。我可以使用附件或图像中提到的代码获取行摘要。
但我不知道如何添加 "a1" 、"b1" 和 "c1" 中的内容以仅在不使用代码隐藏的情况下在 XAML 代码中获取 "Summary" 。我正在使用 Infragistics xamDataGrid
您需要 MultiBinding
和 MultiValueConverter
。下面的示例计算 Num1 和 Num2 属性的总和并显示它们的总和。
<DataGridTextColumn Header="Sum">
<DataGridTextColumn.Binding>
<MultiBinding Converter="{StaticResource SumCnvKey}">
<Binding Path="Num1"/>
<Binding Path="Num2"/>
</MultiBinding>
</DataGridTextColumn.Binding>
</DataGridTextColumn>
转换器:
public class SumConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue && values[2] != DependencyProperty.UnsetValue)
return ((int)values[0] + (int)values[1]).ToString();
else
return DependencyProperty.UnsetValue;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
我想知道如何在 XAML 代码中获取列摘要。我可以使用附件或图像中提到的代码获取行摘要。 但我不知道如何添加 "a1" 、"b1" 和 "c1" 中的内容以仅在不使用代码隐藏的情况下在 XAML 代码中获取 "Summary" 。我正在使用 Infragistics xamDataGrid
您需要 MultiBinding
和 MultiValueConverter
。下面的示例计算 Num1 和 Num2 属性的总和并显示它们的总和。
<DataGridTextColumn Header="Sum">
<DataGridTextColumn.Binding>
<MultiBinding Converter="{StaticResource SumCnvKey}">
<Binding Path="Num1"/>
<Binding Path="Num2"/>
</MultiBinding>
</DataGridTextColumn.Binding>
</DataGridTextColumn>
转换器:
public class SumConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue && values[2] != DependencyProperty.UnsetValue)
return ((int)values[0] + (int)values[1]).ToString();
else
return DependencyProperty.UnsetValue;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}