Как я могу использовать CellsPanelHorizontalOffset в XAML?

#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}"/>