在xaml Xamarin中的xaml.cs文件中引用外部stacklayout组件ID
本文关键字:xaml 外部 stacklayout ID 引用 组件 文件 Xamarin 中的 cs | 更新日期: 2023-09-27 18:02:18
我正在制作一个继承自stackLayout组件的xaml文件。我把这个叫做TimerButton。
我有两个timerbutton,我想区分它们。
//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";
}
您可以执行以下操作。给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