C# 有没有办法不使用继承就将属性引入类中?
我使用的是Xamarin,它要求我的CS类和XAML继承自Xamarin对象,如下所示: CS XAML 然后它告诉我我不能这样做,因为分部类必须从同一基类继承C# 有没有办法不使用继承就将属性引入类中?,c#,xamarin,xamarin.forms,C#,Xamarin,Xamarin.forms,我使用的是Xamarin,它要求我的CS类和XAML继承自Xamarin对象,如下所示: CS XAML 然后它告诉我我不能这样做,因为分部类必须从同一基类继承 这有什么办法吗?无论如何,我可以添加属性,例如SelectedValProperty。。没有从基类继承?您看到的错误仅仅是因为代码隐藏中的基类类型与您在XAML中使用的基类类型不同 一旦确保两个基类类型相同,XAML编译器就会很高兴 <?xml version="1.0" encoding="UTF-8"?> <!--
这有什么办法吗?无论如何,我可以添加属性,例如
SelectedValProperty
。。没有从基类继承?您看到的错误仅仅是因为代码隐藏中的基类类型与您在XAML中使用的基类类型不同
一旦确保两个基类类型相同,XAML编译器就会很高兴
<?xml version="1.0" encoding="UTF-8"?>
<!-- make sure change root tag from ContentView to base class type -->
<!-- ('jt' represents the tag prefix for xmlms namespace declaration) -->
<jt:BaseTemplate xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:jt="clr-namespace:Japanese.Templates"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Japanese;assembly=Japanese"
xmlns:b="clr-namespace:Behaviors;assembly=Behaviors"
x:Class="Japanese.Templates.TimeIntervalTemplate" x:Name="this">
<!-- your content here -->
</jt:BaseTemplate>
<?xml version="1.0" encoding="UTF-8"?>
<ContentView xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Japanese;assembly=Japanese"
xmlns:b="clr-namespace:Behaviors;assembly=Behaviors"
x:Class="Japanese.Templates.TimeIntervalTemplate" x:Name="this">
<StackLayout BackgroundColor="#FFFFFF" Padding="20,0" HeightRequest="49" Margin="0">
public class BaseTemplate : ContentView
...
public partial class TimeIntervalTemplate : BaseTemplate
...
<?xml version="1.0" encoding="UTF-8"?>
<!-- make sure change root tag from ContentView to base class type -->
<!-- ('jt' represents the tag prefix for xmlms namespace declaration) -->
<jt:BaseTemplate xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:jt="clr-namespace:Japanese.Templates"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Japanese;assembly=Japanese"
xmlns:b="clr-namespace:Behaviors;assembly=Behaviors"
x:Class="Japanese.Templates.TimeIntervalTemplate" x:Name="this">
<!-- your content here -->
</jt:BaseTemplate>