使用App类中的方法以单独的形式xamarin

时间:2018-09-08 23:45:48

标签: xamarin methods

我是一个初学者,因此对于有经验的人来说,这应该是一个简单的解决方法。 我是一名兽医,试图为兽医创建一个应用程序。我正在尝试通过youtube和以前的在线帖子进行学习,但找不到适合自己的障碍的解决方案: 我正在尝试调用已经在App类中编写的方法: 设置表格绑定了一定数量的现有青霉素。 使用表单显示该卷,并要求用户输入使用的卷。 在按钮上单击,我需要“更新”现有的卷,但是我无法在App类(具有get和set)中调用该方法 我已简化以简化评估:

后面的应用代码:

SELECT * FROM (
  SELECT
      *,
      Row_NUMBER() OVER (PARTITION BY t.CategoryID ORDER BY t.ItemScore DESC) AS RowNumber
  FROM Test t
) t1
where RowNumber <=3

设置表格:

using Xamarin.Forms;
using Xamarin.Forms.Xaml;

[assembly: XamlCompilation(XamlCompilationOptions.Compile)]
namespace methods
{
    public partial class App : Application
    {
        private const string penicillin = "penicillin";

        public App()
        {
            InitializeComponent();

            MainPage = new NavigationPage(new MainPage());
        }

        public string Penicillin
        {
            get
            {
                if (Properties.ContainsKey(penicillin))
                {
                    return Properties[penicillin].ToString();
                }
                return "";
            }
            set
            {
                Properties[penicillin] = value;
            }
        }
}
}

后面的设置代码:

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="methods.Settings">
    <ContentPage.Content>
        <StackLayout>
            <Label Text="Penicillin Onhand" ></Label>
            <Entry Text="{Binding Penicillin}" Keyboard="Numeric" ></Entry>
        </StackLayout>
    </ContentPage.Content>
</ContentPage>

使用表格:

using Xamarin.Forms;

namespace methods
{
    public partial class Settings : ContentPage
    {
        public Settings()
        {
            InitializeComponent();
            BindingContext = Application.Current;
        }
    }
}

背后的使用代码:

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="methods.Usage">
    <ContentPage.Content>
        <StackLayout>
        <Label Text="Penicillin Held" ></Label>
        <Label x:Name="Held" Text="{Binding Penicillin}" ></Label>
        <Label Text="Penicillin Used" ></Label>
        <Entry x:Name="Using" Placeholder="ml" Keyboard="Numeric" ></Entry>
        <Button Text="Use" Clicked="Used_Clicked"></Button>
        </StackLayout>    
    </ContentPage.Content>
</ContentPage>

1 个答案:

答案 0 :(得分:1)

您不需要创建新的App实例-Xamarin Forms已经维护了对当前实例的引用

((App)Application.Current).Penicillin = Remaining;