【问题标题】:UserControl for cross-platform Xamarin Forms跨平台 Xamarin 表单的 UserControl
【发布时间】:2015-10-20 11:49:58
【问题描述】:

我一直在寻找很长时间,但仍然没有找到一种方法来创建像跨平台 Xamarin 表单的 UserControls 这样的 WPF。这甚至可以做到吗?我在 Visual Studio 2013 中使用 Xamarin。

【问题讨论】:

    标签: c# xamarin user-controls cross-platform xamarin.forms


    【解决方案1】:

    这是一个 XAML 示例。只是添加你可以有任何基本的视觉元素。例如。 Grid、StackLayout、Image 等。

     <Grid xmlns="http://xamarin.com/schemas/2014/forms"
                 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                 x:Class="Mobile.Control.UserControl">
    
     </Grid>
    

    下面是代码

    namespace Mobile.Control
    {
        public partial class UserControl : Grid
        {
            public UserControl()
            {
                InitializeComponent();
    
            }
    
        }
    }
    

    要使用它,请转到您的页面并实现命名空间

    <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
              xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
              xmlns:control="clr-namespace:Mobile.Control;assembly=Mobile"
              x:Class="Mobile.View.MyPage">
    

    然后在页面中

    <control:UserControl />
    

    【讨论】:

    • 那里的Header函数是什么?
    • @batmaci - 复制和粘贴错误。我已经更新了代码。
    • 我收到一条错误消息,指出 InitializeComponent 在当前上下文中不存在。这是对从 Grid 派生的类的正确调用吗?
    • @bigwavesoftware - 是的,如果您有 XAML,您需要调用 InitializeComponent,因为它会调用 LoadXaml。有时你会得到一个智能感知错误,但你的构建应该仍然成功。确保使用最新版本的 Xamarin Forms 以确保不会收到智能感知错误。
    • 谢谢。只是为了跟进,我发现通过右键单击 XAML 和“运行自定义工具”,它解决了问题并且 Intellisense 也能正常工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多