#wpf #xaml #datagrid
Вопрос:
Я хочу определить DataGrid.CellsPanelHorizontalOffset
в XAML, как я могу это сделать?
Насколько я мог понять, я должен определить это по DataGridCellsPanel
.
Ответ №1:
DataGrid.CellsPanelHorizontalOffset
является свойством зависимости, которое имеет public
геттер и private
сеттер. Таким образом, без размышлений вы не сможете установить это свойство напрямую.
НО вы можете установить его косвенно, если вы установите DataGrid.RowHeaderWidth
. В большинстве случаев это будет одно и то же, но не всегда (значение основано на некоторых условиях и рассчитывается DataGrid
внутренне).
Следующий пример должен заставить DataGrid.CellsPanelHorizontalOffset
вернуть 0:
<DataGrid ItemsSource="..." RowHeaderWidth="0"></DataGrid>
и, конечно, вы можете сделать привязку к DataGrid.CellsPanelHorizontalOffset
:
<DataGrid x:Name="dg1" ItemsSource="..." RowHeaderWidth="100"></DataGrid>
<Label Background="DarkTurquoise" Width="{Binding ElementName=dg1, Path=CellsPanelHorizontalOffset}"/>