Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何处理';点击';Xamarin表单中Flex按钮控件模板中的事件?_C#_Xaml_Xamarin.forms_Controltemplate - Fatal编程技术网

C# 如何处理';点击';Xamarin表单中Flex按钮控件模板中的事件?

C# 如何处理';点击';Xamarin表单中Flex按钮控件模板中的事件?,c#,xaml,xamarin.forms,controltemplate,C#,Xaml,Xamarin.forms,Controltemplate,我正在尝试为Flex按钮创建一个自定义控件模板,使其具有特定的按钮格式。问题是,当我为按钮创建任何模板时,所有事件都不会响应处理程序,例如,click event never Fire,除非我使用contentpresenter,这会破坏整个模板设计 那么,有没有任何方法可以在不使用content presenter的情况下重新连接单击事件(最好是所有其他单击事件) 以下是迄今为止我的模板代码: FontAwesome5Solid.otf#Fontawesome5自由固体 字体AW5免费 这

我正在尝试为Flex按钮创建一个自定义控件模板,使其具有特定的按钮格式。问题是,当我为按钮创建任何模板时,所有事件都不会响应处理程序,例如,click event never Fire,除非我使用contentpresenter,这会破坏整个模板设计

那么,有没有任何方法可以在不使用content presenter的情况下重新连接单击事件(最好是所有其他单击事件)

以下是迄今为止我的模板代码:


FontAwesome5Solid.otf#Fontawesome5自由固体
字体AW5免费
这是一个实现示例:


尽管一切看起来都很好,但单击的
SampleButton\u
从未执行


提前感谢。

我无法完全复制您的样式,您在显示
flex:FlexButton
时是否可以看到探索文本

我做了一个测试,当我删除你的
样式时,
点击
触摸
事件可以在浏览文本上正常执行

基于我的研究,你的风格就像一张覆盖
flex:FlexButton
的图片,我看不到
浏览文本,所以我无法点击它

但是,当我为
flex:FlexButton
添加
tappesturerecognizer
时,它正常工作。这是我的背景代码

  var tapGestureRecognizer = new TapGestureRecognizer();
            tapGestureRecognizer.Tapped += async (s, e) =>
            {
                await DisplayAlert("user", DateTime.Now.Year.ToString(),"Ok");
            };

  flexbtn.GestureRecognizers.Add(tapGestureRecognizer);
这是布局代码

<flex:FlexButton Icon="&#xf002;" x:Name="flexbtn" Text="Explore" Style="{StaticResource IconTextButton}"  TouchedUp="FlexButton_Clicked" Clicked="FlexButton_Clicked"  />

这是我正在运行的GIF(我不能完全复制你的风格,我尽力复制它,但它看起来仍然不好看)


您可能无法重建所有内容,因为我正在使用
fontawsome
以及Flex Button插件,但是,我可以设法调整您的解决方案代码,以便在更大范围内使用我的原始项目。非常感谢您的帮助,如果没有您,我不会再做一件事,我在我的样式中添加了
Margin=“{TemplateBinding Path=Padding}”
,然后当我在按钮设计中设置
Padding
内联时,它会起作用,但是如果我添加多个按钮并在容器资源中添加
Padding
,它就不起作用了,即使同一容器资源样式中的所有其他setter都可以工作。。。