Я использую Xamarin, который требует, чтобы мой класс CS и XAML наследовали от объекта Xamarin, например:
CS
namespace Japanese.Templates
{
public partial class TimeIntervalTemplate : ContentView
{
public TimeIntervalTemplate()
{
InitializeComponent();
}
// All my time templates contain this and I would
// like to not have to repeat these many times in
// each time template
public static readonly BindableProperty SelectedValProperty =
BindableProperty.Create(
"SelectedVal", typeof(string), typeof(CardOrderTemplate),
defaultBindingMode: BindingMode.TwoWay,
defaultValue: default(string));
// All my time templates contain this and I would
// like to not have to repeat these many times in
// each time template
public string SelectedVal
{
get { return (string)GetValue(SelectedValProperty); }
set { SetValue(SelectedValProperty, value); }
}
XAML
<?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">
Ноодни и те же свойства и объекты здесь используются во многих различных классах:
Я хотел бы просто создать класс BaseTemplate, который наследуется от представления содержимого.Добавьте к этому свойства и затем наследуйте TimeIntervalTemplate от BaseTemplate.Однако, когда я делаю это:
public class BaseTemplate : ContentView
...
public partial class TimeIntervalTemplate : BaseTemplate
...
Тогда он говорит мне, что я не могу этого сделать, поскольку частичные классы должны наследоваться от одного и того же базового класса.
Есть ли способ обойти это?В любом случае, что я мог бы добавить в свойства, такие как SelectedValProperty
.. без наследования от базового класса?