我正在从stackLayout组件中创建一个xaml文件。我打电话给这个TimerButton。
我有两个TimerButtons,想要区分它们。
//In MainPage.xaml
<component:TimerButton x:Name="Smoke"></component:TimerButton>
<component:TimerButton x:Name="Snuff"></component:TimerButton>
我需要发送ID,以便我可以在TimerButton组件内的C#代码(ViewModel.TobaccoType)中设置一个值。我试过使用x:arguments / name / type没有运气。
//In TimerButton.xaml.cs
ViewModel = new TimerButtonViewModel();
if (this.FindByName<TimerButton>("Smoke") != null)
{
ViewModel.TobaccoType = "Smoke";
}
答案 0 :(得分:1)
您可以执行以下操作。给TimerButton一个所谓的DependencyProperty,如下所示:
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中轻松引用此属性