我对WPF有点陌生,我正在尝试做一些专门的数据绑定。具体来说,我有一个绑定到对象集合的DataGrid,但是我希望将列的头绑定到单独的对象。你是怎么做到的?
我有几个类的定义如下:
public class CurrencyManager : INotifyPropertyChanged
{
private string primaryCurrencyName;
private List<OtherCurrency> otherCurrencies;
}
public class OtherCurrency : INotifyPropertyChanged
{
private string name;
private double baseCurAmt;
private double thisCurAmt;
}
然后,XAML的重要部分如下。假设我已经将页面绑定到currencymanager类型的特定对象。请注意,附加到第二个DataGridTextColumn的头的绑定是如何不正确的,并且需要以某种方式访问CurrencyManager对象的PrimaryCurrencyName属性。也就是说,列标题的名称为“primarycurrencyname”,对于其他货币列表的每个元素,列中的数据仍然绑定到属性thiscurramt。
<DataGrid ItemsSource="{Binding Path=OtherCurrencies}" AutoGenerateColumns="False" RowHeaderWidth="0">
<DataGrid.Columns>
<DataGridTextColumn Header="Currency Name" Binding="{Binding Path=Name}"/>
<DataGridTextColumn Binding="{Binding Path=BaseCurAmt}">
<DataGridTextColumn.Header>
<Binding Path="PrimaryCurrencyName"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Header="Amt in this Currency" Binding="{Binding Path=ThisCurAmt}"/>
</DataGrid.Columns>
</DataGrid>
我该怎么做?谢谢!