Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Xamarin表单覆盖视图模型中的OnSizeAllocated方法_C#_Mvvm_Xamarin.forms_Prism - Fatal编程技术网

C# Xamarin表单覆盖视图模型中的OnSizeAllocated方法

C# Xamarin表单覆盖视图模型中的OnSizeAllocated方法,c#,mvvm,xamarin.forms,prism,C#,Mvvm,Xamarin.forms,Prism,我正在xamarin forms项目中使用Prism。目前我已在视图类中重写OnSizeAllocated方法。如何在视图模型中实现OnSizeAllocated方法?换句话说,是否可以在视图模型中重写OnSizeAllocated方法 这是我想要实现的一段代码:- private double width = 0; private double height = 0; protected override void OnSizeAllocated

我正在xamarin forms项目中使用Prism。目前我已在视图类中重写OnSizeAllocated方法。如何在视图模型中实现OnSizeAllocated方法?换句话说,是否可以在视图模型中重写OnSizeAllocated方法

这是我想要实现的一段代码:-

        private double width = 0;
        private double height = 0;
        protected override void OnSizeAllocated(double width, double height)
        {
            try
            {
               if (App.vw_CurrentPage == "Bandwidth")
             {
                base.OnSizeAllocated(width, height); //must be called
                if (this.width != width || this.height != height)
                {
                    this.width = width;
                    this.height = height;
                    double dEntryWidth = (width / 11) * 7;
                    double dEntryWidth1 = (width / 9) * 6;
                    double dGridHeight = height * 0.352;
                    txtBandwidthHotel.WidthRequest = dEntryWidth1;
                }
              }
            }
            catch (Exception ex)
            {

            }
        }

您的
viewmodel
不知道有关
视图的任何信息
,因此它如何能够调用
onsizeallocated
。我将创建一个接口
IViewModelBase
,并拥有一个名为
OnSizeAllocated
的方法,视图将调用该方法。如果不了解您的目标是什么,就如何实现目标向您提供适当的建议确实非常困难。但是,我要强调的是,您的ViewModel永远不应该知道有关视图的任何信息。正确的MVVM模式可以使视图和视图模型之间的耦合非常松散。这是我的目标…当设备改变方向时,OnSizeAllocated方法会触发。我想改变尺寸(高度和宽度)当设备改变方向时,会显示一些图标。我希望图标在横向和纵向模式下以不同的大小显示。@DanS.u可以分享一些关于如何使用界面实现它的代码吗?@user1Your
viewmodel
不知道有关
视图的任何信息,因此它将如何调用
onsizeallocated
。我将创建一个接口
IViewModelBase
,并拥有一个名为
OnSizeAllocated
的方法,视图将调用该方法。如果不了解您的目标是什么,就如何实现目标向您提供适当的建议确实非常困难。但是,我要强调的是,您的ViewModel永远不应该知道有关视图的任何信息。正确的MVVM模式可以使视图和视图模型之间的耦合非常松散。这是我的目标…当设备改变方向时,OnSizeAllocated方法会触发。我想改变尺寸(高度和宽度)当设备改变方向时,会显示一些图标。我希望图标在横向和纵向模式下以不同的大小显示。@DanS.u能否分享一些关于如何使用界面实现它的代码?@user1