Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有没有办法不使用继承就将属性引入类中?_C#_Xamarin_Xamarin.forms - Fatal编程技术网

C# 有没有办法不使用继承就将属性引入类中?

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"?> <!--

我使用的是Xamarin,它要求我的CS类和XAML继承自Xamarin对象,如下所示:

CS

XAML

然后它告诉我我不能这样做,因为分部类必须从同一基类继承


这有什么办法吗?无论如何,我可以添加属性,例如
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>