Я роблю файл 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