1 回答

TA貢獻1780條經驗 獲得超4個贊
你可以這樣做
var rows = GetDataGridRows(datagrid);
foreach (DataGridRow r in rows)
{
var rowHeight = r?.ActualHeight;
}
public IEnumerable<DataGridRow> GetDataGridRows(System.Windows.Controls.DataGrid grid)
{
var itemsSource = grid.ItemsSource as IEnumerable;
if (null == itemsSource) yield return null;
foreach (var item in itemsSource)
{
var row = grid.ItemContainerGenerator.ContainerFromItem(item) as DataGridRow;
if (null != row) yield return row;
}
}
Xaml
<StackPanel Orientation="Vertical" >
<Button Click="Button_Click" Height="39" Width="40"></Button>
<DataGrid x:Name="dgMain" AutoGenerateColumns="True" HorizontalAlignment="Left" Height="auto" VerticalAlignment="Top" Width="auto" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible" >
</DataGrid>
</StackPanel>
- 1 回答
- 0 關注
- 400 瀏覽
添加回答
舉報