我在XAML中有多个用户控件,共享代码我想放在基页中,所以我想要
singleLine.xaml --> singleLine.xaml.cs --- > basepage.cs
doubleLine.xaml --> doubleLine.xaml.cs --- > basepage.cs
singleLine.xaml
<StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand" Margin="0" BackgroundColor="White">
<StackLayout.GestureRecognizers>
<TapGestureRecognizer Tapped="OnTapped"/>
</StackLayout.GestureRecognizers>
<StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand" Margin="0" BackgroundColor="White">
<Label x:Name="ViewTitle" Style="{StaticResource lblJobDetailName}" />
<Label x:Name="ViewValue" Style="{StaticResource lblJobDetailValue}" />
</StackLayout>
<Image x:Name="EditIcon" Source="edit.png" Margin="15,15,15,15" IsVisible="false" WidthRequest="15" HeightRequest="15" />
</StackLayout>
singleLine.xaml.cs
using System;
using Xamarin.Forms;
namespace Client.UI.Pages.UserControls
{
public partial class SingleLine : Client.UI.Pages.UserControls.BaseUserControl
{
// do stuff
#region Constructors
public SingleLine()
{
InitializeComponent();
}
#endregion
}
}
basepage.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
namespace Client.UI.Pages.UserControls
{
public class BaseUserControl: Xamarin.Forms.ContentView
{
public BaseUserControl()
{
}
}
}
系统不会编译,我得到以下错误
Error CS0234 The type or namespace name 'BaseUserControl' does not exist in the namespace 'Client.UI.Pages.UserControls' (are you missing an assembly reference?) Client.UI C:\Projects\Client.UI\Pages\UserControls\SingleLineItem.xaml.cs 8 Active
这似乎是一件简单的事情,但引起了头痛,任何想法?
1 回答
应该:
此外,您不需要显式声明名称空间,因为SingleLine和BaseUserControl都在同一名称空间中....
这应该工作....