C# 如何创建可以通过xaml创建的自定义Xamarin.Forms组件?
如果这个问题已经得到回答,我深表歉意。我想基于Xamarin.Forms创建一个具有特定行为的选项卡组件,其中选项卡定义xaml类似于:C# 如何创建可以通过xaml创建的自定义Xamarin.Forms组件?,c#,xaml,xamarin.forms,C#,Xaml,Xamarin.forms,如果这个问题已经得到回答,我深表歉意。我想基于Xamarin.Forms创建一个具有特定行为的选项卡组件,其中选项卡定义xaml类似于: <Tab OnTabChange="Some_Event_Handler"> <Tabs> <Tab Text="xxx" /> <Tab Text="yyy" /> </Tab> </Tab> 是否有使用自定义xaml的可用资源可供我查看 非常感谢您的任何见解。最简单的方法是创建自
<Tab OnTabChange="Some_Event_Handler">
<Tabs>
<Tab Text="xxx" />
<Tab Text="yyy" />
</Tab>
</Tab>
是否有使用自定义xaml的可用资源可供我查看
非常感谢您的任何见解。最简单的方法是创建自定义渲染器。要做到这一点,最简单的方法是扩展现有的元素并赋予它新的功能 第一步是创建元素。在类内部创建一个静态只读BindableProperty和一个使用GetValue和SetValue的非静态属性。这将支持数据绑定 每个平台都需要知道如何呈现新控件,因此添加一个类,例如MyLabelRenderer.cs。在该文件中,您将希望覆盖可能需要呈现控件的方法
public class MyLabelRenderer : LabelRenderer
{
protected override void OnElementChanged (
ElementChangedEventArgs<Label> e)
{
base.OnElementChanged (e);
MyLabel el = (MyLabel)this.Element;
// custom stuff here
}
}
公共类MyLabelRenderer:LabelRenderer
{
受保护的覆盖无效OnElementChanged(
ElementChangedEventArgs(e)
{
碱基。一个元素改变(e);
MyLabel el=(MyLabel)this.Element;
//这里有定制的东西
}
}
然后声明一个本地名称空间,并可以使用自定义对象
<local:myLabel ... >
有关详细的漫游,请参见
希望有帮助
-jesse看起来链接现在已经死了;)