如何从 Double 转换为 GridLength?C#

2 c# xaml stackpanel

我正在尝试获取 GridRow[0] 及其父级 (Stackpanel) 的值,然后减去 Stackpanel 值的 GridRow[0] 的值。我的最后一步是将结果分配给 GridRow[1]。

gridLengthVariable  = othergridLengthVariable - doubleVariable;
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我无法进行从 Double 到 GridLength 的显式转换

gridLengthVariable.Value
Run Code Online (Sandbox Code Playgroud)

是一个只读属性,所以我不能在这里分配。

我需要一种将 double 转换为 gridLength 的方法,尽管如果这给我带来了相同的解决方案,我愿意对我的代码进行更深入的更改。

无法完成 XAML 更改。

编辑:

我将展示我正在尝试做的事情:

它是 XAML 创建的 gridRow 的动态更改。

     gridProfile.RowDefinitions[1].Height =  
     stackPanelProfile.Height -  gridProfile.RowDefinitions[0].Height;
Run Code Online (Sandbox Code Playgroud)

在这里我不能应用运算符“ -

谢谢。

Pat*_*man 5

GridLength是一个结构。它不仅仅是一个双精度值。它也可以是Auto例如。

您可以创建一个新的GridLength并通过构造函数提供实际值:

gridLengthVariable = new GridLength(othergridLengthVariable - doubleVariable);
Run Code Online (Sandbox Code Playgroud)