小编Kar*_*ick的帖子

如何修复 Android Xamarin.Forms 中的渲染器警告

警告 CS0618:“PickerRenderer.PickerRenderer()”已过时:“此构造函数自 2.5 版起已过时。请改用 PickerRenderer(Context)。

此警告不仅在选择器渲染器中,所有渲染器(Entry、DatePicker、StackLayout Renderer)都显示此警告。我的 Picker 自定义渲染器是这样的,

 public class BorderlessPickerRenderer : PickerRenderer
    {        
        protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
        {
            base.OnElementChanged(e);
            var picker = e.NewElement;
            if (Control != null)
            {                             
                Control.Background = null;

                Control.SetTextSize(Android.Util.ComplexUnitType.Pt, 8);

                Control.SetTextColor(Android.Graphics.Color.ParseColor("#141414"));
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

xamarin.android xamarin xamarin.forms

6
推荐指数
1
解决办法
2870
查看次数

在 Xamarin.Forms 中单击背景时,Rg.Plugins.Popup 不会关闭

rg.plugins.popup在我的应用程序中使用过。我已经更新了 xamarin 表单(version="2.5.0.121934")。现在单击外部背景并没有关闭。我曾经通过多种方式关闭弹出窗口,但没有关闭,我尝试了以下代码:

this.CloseWhenBackgroundIsClicked = false;

protected override bool OnBackgroundClicked()
        {
            Navigation.PopPopupAsync();
            return false;
        }   
Run Code Online (Sandbox Code Playgroud)

OnBackgroundClicked不是在打电话。如何解决这个问题?

xamarin.ios xamarin.android xamarin.forms

0
推荐指数
1
解决办法
5616
查看次数

Foreach Loop需要更多时间来处理

我有两个集合,一些条件是使用linq查询完成的.比较两个列表并从中获取结果.我使用了foreach循环和linq查询,这些集合有65000个数据,我的问题是它需要更多的时间来处理.我的代码如下所述.如何提高性能以及如何缩短处理时间.如果有任何提高性能的想法请分享.

foreach (var part in quoteParts)
{                            
    var presentPart = existingPart.FirstOrDefault(p => p.PartName == part.PartNumber);

    if (presentPart != null)
    {
        int partID = presentPart.ID;
        string partNumber = Convert.ToString(presentPart.PartName);

        foreach (var quotesPart in quoteStepInProcesses)
        {
            var presentStepInProcess = existingStepInProcesses.FirstOrDefault(p => p.ProcessId == quotesPart.StepInProcessID && quotesPart.PartNumber == partNumber); 

            if (presentStepInProcess != null)
            {
                PartProcesses.Add(new PartProcessDto
                {
                    ProcessName = Convert.ToString(presentStepInProcess.ID),
                    PartName = Convert.ToString(presentPart.ID)
                });
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c#

0
推荐指数
1
解决办法
74
查看次数