0
我有問題與內部DataGrid綁定。該綁定與DataGrid「帳戶」一起使用,但不與「記錄」一起使用。我使用DataGrid.RowDetailsTemplate用於所述第二數據網格wpf中的內部DataGrid的綁定
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<DataGrid ItemsSource="{Binding AccountList}" AutoGenerateColumns="False" x:Name="Account">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding AccountNumber}" Header="Account Number" FontSize="16"/>
<DataGridTextColumn Binding="{Binding Name}" Header="Name" FontSize="16"/>
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding RecordList,Mode=TwoWay}" AutoGenerateColumns="False" x:Name="Record" IsSynchronizedWithCurrentItem="True">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding RecordNumber}" Header="Record Number" FontSize="16"/>
<DataGridTextColumn Binding="{Binding Name}" Header="Name" FontSize="16"/>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
</Grid>
<Grid Grid.Row="1">
<TextBlock Text="Account Number:"> <TextBox Text="{Binding ElementName=Account, Path=SelectedItem.AccountNumber}" x:Name="ANr"/>
<TextBlock Text="Record Number:"> <TextBox Text="{Binding ElementName=Record, Path=SelectedItem.RecordNumber}" x:Name="RecordText"/>
</Grid>
錯誤消息:
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'ElementName=Record'. BindingExpression:Path=SelectedItem.RecordNumber; DataItem=null; target element is 'TextBox' (Name='RecordText'); target property is 'Text' (type 'String')
第一文本框結合沒有問題。第二個不能綁定。
謝謝
在Account類我有RecordList(的ObservableCollection),字符串名稱,詮釋賬戶號碼。我如何創建SelectedRecord? – Georg
例如在您的Account類中創建與您的RecordList類相同類型的SelectedRecord屬性,並將其綁定到內部DataGrid的SelectedItem,方法與綁定RecordList相似 – dkozl
但我怎麼能將SelectedRecord與所選項目綁定。如果我只是在帳戶中創建SelectedRecord並寫入Binding ElementName = Account, Path = SelectedItem.SelectedReocrd.RecordNumber我沒有得到任何東西,因爲SelectedRecord爲NULL – Georg