У меня возникают проблемы с datagrid, и мне интересно, могу ли я сделать привязку определенным образом. Если смогу, это спасло бы меня от какого-то тяжелого рефакторинга, который не был бы действительно уместным.XAML DataGrid - привязка RowDetail к основным данным строки
В любом случае, в нижеприведенной сетке у меня есть основные столбцы/строки DataGrid, а также RowDetailsTemplate для подстрок. Основной DataGrid привязан к коллекции Positions, а RowDetailsTemplate привязан к коллекции Taxlots. Элементы в коллекции Taxlots не имеют свойства Description или Ticker, тогда как элементы в коллекции Positions делают.
Можно ли связать столбцы Тикер и Описание в RowDetailsTemplate с соответствующими столбцами в главном DataGrid?
упрощенный XAML ниже:
<DataGrid x:Name="SecurityDataGrid"
ItemsSource="{Binding Positions,
NotifyOnSourceUpdated=True,
UpdateSourceTrigger=PropertyChanged}">
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding Taxlots}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Ticker}"/>
<DataGridTextColumn Binding="{Binding Description}"/>
<DataGridTextColumn Binding="{Binding Shares}"/>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
<DataGrid.Columns>
<DataGridTextColumn Width="Auto" Header="Ticker" Binding="{Binding Path=Ticker, Mode=OneWay}"
TextOptions.TextFormattingMode="Display" />
<DataGridTextColumn Width="Auto" Header="Description" Binding="{Binding Path=Description, Mode=OneWay}"
TextOptions.TextFormattingMode="Ideal" />
<DataGridTextColumn Width="Auto" Header="Shares" Binding="{Binding SharesOwned, Mode=OneWay, Converter={StaticResource DecimalToStringConverter}}"
CellStyle="{StaticResource CellStyleRight}" />
</DataGrid.Columns>
</DataGrid>
Пожалуйста, см [это] (http://stackoverflow.com/questions/3012586/is-there-a-simple-way-to-specify-a-wpf-databinding- where-the-path-is-one-level), я думаю, что «RelativeSource» может работать. – CodingYoshi
Это отлично. Хотел бы я дать вам кредит, но я не думаю, что комментарии допускают это. – CubemonkeyNYC
Отлично! Надеюсь, вы дали ответ на этот ответ в ссылке, выставив его. – CodingYoshi