我如何将元素的宽度和高度传递给 XamarinForms 中的效果或自定义渲染器
How would i pass element's width and height to an effect or a custom renderer in XamarinForms
我无法在附加到元素的效果中获取元素的宽度和高度。我尝试了所有方法:
void UpdateSize()
{
var _1 = ((BoxView)Element).Width; //-1
var _2 = ((BoxView)Element).WidthRequest; //-1
var _3 = ((BoxView)Element).Height; //-1
var _4 = ((BoxView)Element).HeightRequest; //-1
var _5 = Control.Width; //NaN (UWP). NaN is not a number
var _6 = Control.ActualWidth; //0
var _7 = Control.Height; //Nan (UWP). NaN is not a number
var _8 = Control.ActualHeight; //0
}
我什至尝试将宽度和高度作为附加属性传递给效果。
我需要宽度和高度,因为我正在创建投影并且我必须将 SpriteVisual 的大小调整为与元素相同的大小。
可能是元素在应用 renderer/effects 之后绘制,所以我们还没有尺寸。如果是这样,如何解决这个问题?
我建议在附加效果时连接 Element
的 SizeChanged
事件,然后在它触发后创建阴影。此外,请确保在分离效果时取消订阅该事件。
我无法在附加到元素的效果中获取元素的宽度和高度。我尝试了所有方法:
void UpdateSize()
{
var _1 = ((BoxView)Element).Width; //-1
var _2 = ((BoxView)Element).WidthRequest; //-1
var _3 = ((BoxView)Element).Height; //-1
var _4 = ((BoxView)Element).HeightRequest; //-1
var _5 = Control.Width; //NaN (UWP). NaN is not a number
var _6 = Control.ActualWidth; //0
var _7 = Control.Height; //Nan (UWP). NaN is not a number
var _8 = Control.ActualHeight; //0
}
我什至尝试将宽度和高度作为附加属性传递给效果。 我需要宽度和高度,因为我正在创建投影并且我必须将 SpriteVisual 的大小调整为与元素相同的大小。
可能是元素在应用 renderer/effects 之后绘制,所以我们还没有尺寸。如果是这样,如何解决这个问题?
我建议在附加效果时连接 Element
的 SizeChanged
事件,然后在它触发后创建阴影。此外,请确保在分离效果时取消订阅该事件。