【问题标题】:Reuse xamarin.forms xaml contentpage data throughout the app在整个应用程序中重用 xamarin.forms xaml contentpage 数据
【发布时间】:2016-12-24 10:16:43
【问题描述】:

我有点卡在一个问题上,我想知道您是否可以针对我的问题制作视频,似乎其他人可能有同样的问题,但是我一直在网上寻找,但没有真正直接的解决问题的方法.问题是,例如,我在内容页面 page1.xaml 中有一个堆栈布局,我在其中的第 4 页添加了标签,并为这些标签设置器和获取器设置了属性。但是,如果我制作 page2.xaml,我将如何将标签与数据一起移动到 page2.xaml,基本上在整个应用程序中重用从 page1.xaml 到 page2.xaml 声明的数据/标签?这是我目前所拥有的。

    <StackLayout>


    <StackLayout x:Name = "CustomerOrderStackLayout" Orientation = "Horizontal" HorizontalOptions = "Center" Padding = "20" >
    <Label x:Name ="CustomerOrderNumberLabel" HorizontalOptions = "Center" />
    </StackLayout>

    <StackLayout Orientation = "Vertical" Padding = "20" >
    <Label x:Name ="CustomerFirstNameLabel" 
           VerticalOptions = "Start" />
    <Label x:Name ="CustomerLastNameLabel" 
           VerticalOptions = "Start" />
    <Label x:Name ="CustomerAddressLabel" 
           VerticalOptions = "Start" />
    <Label x:Name ="CustomerZipCodeLabel" 
           VerticalOptions = "Start"/>
    <Label x:Name ="CustomerPhoneNumberLabel" 
           VerticalOptions = "Start"/>
    </StackLayout>
    </StackLayout>

</ContentPage>





 public partial class CustomerInfoContentV : ContentPage
        {
        public CustomerInfoContentV()
        {
            InitializeComponent();

            orderNum = "N";
            FirstName = "Nl";
            LastName = "Jk";
            Address = "203030 drive";
            ZipCode = "77088";
            PhoneNumber = "833-223-2222";
        }

        public string orderNum
        {
            get
            {
                return CustomerOrderNumberLabel.Text;
            }

            set
            {
                CustomerOrderNumberLabel.Text = value;
            }

        }
        public string FirstName
        {
            get
            {
                return CustomerFirstNameLabel.Text;
            }
            set
            {
                CustomerFirstNameLabel.Text = value;
            }
        }
        public string LastName
        {
            get
            {
                return CustomerLastNameLabel.Text;
            }
            set
            {
                CustomerLastNameLabel.Text = value;

            }
        }
        public string Address
        {
            get
            {
                return CustomerAddressLabel.Text;
            }
            set
            {
                CustomerAddressLabel.Text = value;
            }
        }
        public string ZipCode
        {
            get
            {
                return CustomerZipCodeLabel.Text;
            }
            set
            {
                CustomerZipCodeLabel.Text = value;
            }
        }
           public string PhoneNumber
          {

            get
            {
                return CustomerPhoneNumberLabel.Text;
            }
            set
             {
                CustomerPhoneNumberLabel.Text = value;
             }


          }
      }

我想知道有没有办法把我拥有的东西拿来并在一个完全不同的内容页面上重用它,这是我的问题我想把这个我创建的东西拿来并在整个应用程序中重用它这可能吗?谁能带领我朝着正确的方向前进!请谢谢:)

【问题讨论】:

  • 我遇到了另一个 StackOverflow,这与我需要帮助但没有用的类似。仅供参考。 -> stackoverflow.com/questions/28473200/…
  • 你想创建一个page2。和使用同一个标签的page1是你说的吗?
  • 是的,@Jose 这就是我理想中想要做的事情。
  • 我发现了去年某个时候发布的类似帖子,但我猜缺少标签并没有将我指向该帖子,但我找到了解决方案。您必须从布局类继承页面,例如堆栈布局等然后在 xaml 文件中引用您想要的页面中类的名称空间,就是这样。
  • 更新此评论 ^^ 我在上面发布。您必须继承要使用的任何布局,例如stacklayout、contentpage、absolute-layout 等然后转到目标新内容页面并创建一个别名 xmnls:(name of the alias)="clr-namespace; assembly="(name of the project workspace)" 然后在该引用之后它在新文件中然后就是它。

标签: xaml xamarin xamarin.forms


【解决方案1】:

如果我理解你是正确的。您可以使用模板。 https://developer.xamarin.com/guides/xamarin-forms/templates/control-templates/creating/ 。对于我的项目,我只需创建一个基于代码的模板,然后随时随地渲染它。

【讨论】:

    猜你喜欢
    • 2018-03-09
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 1970-01-01
    • 2019-10-16
    • 2018-10-26
    • 1970-01-01
    • 2018-08-20
    相关资源
    最近更新 更多