/ / Посилання на ідентифікатор зовнішнього компонента stacklayout всередині файлу xaml.cs у xaml Xamarin - c #, xaml, xamarin

Посилання на зовнішній ідентифікатор компонента stacklayout у файлі xaml.cs в xaml Xamarin - c #, xaml, xamarin

Я роблю файл xaml невідповідним із компонента stackLayout. Я назвав це TimerButton.

У мене є два TimerButtons і хочу розмежувати їх.

//In MainPage.xaml
<component:TimerButton x:Name="Smoke"></component:TimerButton>
<component:TimerButton x:Name="Snuff"></component:TimerButton>

Мені потрібно надіслати ідентифікатор, щоб я міг встановити значення в коді C # (ViewModel.TobaccoType) всередині компонента TimerButton. Я спробував використати х: аргументи / ім’я / тип без удачі.

//In TimerButton.xaml.cs
ViewModel = new TimerButtonViewModel();

if (this.FindByName<TimerButton>("Smoke") != null)
{
ViewModel.TobaccoType = "Smoke";
}

Відповіді:

1 для відповіді № 1

Ви можете зробити наступне. Дайте TimerButton так званий Залежність власності подобається це:

public static readonly DependencyProperty TobaccoTypeProperty =
DependencyProperty.Register(
"TobaccoType", typeof(String),
typeof(TimerButton), null);

public String TobaccoType
{
get { return (String)GetValue(TobaccoTypeProperty); }
set { SetValue(TobaccoTypeProperty, value); }
}

І тоді ви посилаєтесь на це у своєму XAML так:

//In MainPage.xaml
<component:TimerButton x:Name="Smoke" TobaccoType="Smoke"></component:TimerButton>
<component:TimerButton x:Name="Snuff" TobaccoType="Snuff"></component:TimerButton>

Ці властивості ви можете легко вказати у своєму TimerButton.cs