一千萬個為什麽

搜索

如何判斷網格單元的大小?

我有一個自定義控件,我已放置在網格的單元格內。我需要根據自定義控件的高度和寬度運行一些內部計算。但是,我希望它根據單元格的大小調整大小。

所以,我的主要問題是......如何以編程方式確定給定單元格的高度和寬度?

最佳答案

可能更容易找出自定義控件的高度和寬度,而不是DataGrid的單元格。

您的控件應該(通過FrameWork Element)訪問屬性ActualHeight和ActualWidth。當大小更改時,這些屬性將更新。

此外,每次高度和寬度更改時,都會在控件上觸發SizedChanged事件。

我強烈建議將此高度和寬度邏輯放在控件內。您不希望僅限於將自定義控件放在DataGrids中。

private void UserControl_SizeChanged(object sender, System.Windows.SizeChangedEventArgs e)
{
    HeightBox.Text = this.ActualHeight.ToString();
}

轉載註明原文: 如何判斷網格單元的大小?