访问在ControlTemplate中定义的XAML控件

时间:2018-07-17 11:53:31

标签: c# xaml xamarin.forms controltemplate

我正在使用Xamarin表单,并且在XAML中,我试图更改App.xaml的PlayButton (Button)中定义的ControlTemplate Image 属性。我似乎无法在后面的代码中访问Button文件中的App.xaml.cs控件。有谁知道如何访问按钮或知道如何更改Image属性?

<Application.Resources>
 <ResourceDictionary>
   <ControlTemplate x:Key="PageTemplate">
      <StackLayout Orientation="Horizontal" Margin="10">
          <Button x:Name="PlayButton" />
      </Stacklayout>
   </ControlTemplate>
 <ResourceDictionary>
</Application.Resources>

1 个答案:

答案 0 :(得分:1)

模板是模板。在模板实际应用于某个元素之前,无法访问Button

  

...因此,现在位于App.xaml.cs上的click事件上,我无法访问button来进一步更改图像。在何处可以访问此button以实现此目标以及如何实现?

您可以在事件处理程序中强制使用sender参数:

private void Button_Click(object sender, EventArgs e)
{
    Button btn = (Button)sender;
    //...
}