2021-10-18 乐帮网
blazor web assembly
Blazor中监听元素的Resize事件,很遗憾的告诉你,这并做不到,但是在Blazor中却可以监听body的Resize事件。我们可以认为body的resize事件会触发元素的resize事件。下面一段代码展示了如果在你的程序中监听body的resize事情。
首先我们需要一个JS文件,它负责注册一个全局事件如下:
//https://lebang2020.cn/details/211018zyatk2ae.html
window.AddResize = function (methodName, dot) {
            window.onresize = function () {
                try {
                    dot.invokeMethodAsync(methodName);
                } catch { }
            };
        };
接下来我们在后台调用这个方法即可
 protected override async Task OnInitializedAsync()
 {
	await _jsRuntime.InvokeVoidAsync($"window.AddResize", "OnReSize",DotNetObjectReference.Create(this));
 }
 [JSInvokable("OnReSize")]
public void OnReSize(){
	Console.WriteLine("窗口触发ReSize事件");
}
或者还有更简单的方法,可以关注一下这个开源项目:
https://github.com/chrissainty/BlazorBrowserResize
本文为原创。
                        
                                关注我的微信公众号
                                在公众号里留言交流
                                投稿邮箱:1052839972@qq.com
                            
                        庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
                        雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。
                        
                    
                        
                                如果感觉对您有帮助
                                欢迎向作者提供捐赠
                                这将是创作的最大动力