如何定制Xamarin.Forms应用程序?

如何定制Xamarin.Forms应用程序?,xamarin,xamarin.forms,Xamarin,Xamarin.forms,如何自定义xamarin.forms组件的外观? 例如,我希望每个按钮都有相同的图像。或者让所有系统使用相同的背景图像共享相同的登录屏幕。 我知道我可以通过为每个平台项目添加一个特定屏幕来实现这一点。但我希望能够自定义组件本身。示例:无论运行哪个平台,所有按钮都将具有相同的背景图像 我读过: 最有希望的似乎是最后一个。自定义渲染器是实现这一点的唯一方法吗?难道我不能在共享项目中添加一个映像,它就可以自动在所有平台上运行吗 谢谢。要做到这一点,您只需在应用程序类中指定一个样式,(您需要将应用

如何自定义xamarin.forms组件的外观? 例如,我希望每个按钮都有相同的图像。或者让所有系统使用相同的背景图像共享相同的登录屏幕。 我知道我可以通过为每个平台项目添加一个特定屏幕来实现这一点。但我希望能够自定义组件本身。示例:无论运行哪个平台,所有按钮都将具有相同的背景图像

我读过:

最有希望的似乎是最后一个。自定义渲染器是实现这一点的唯一方法吗?难道我不能在共享项目中添加一个映像,它就可以自动在所有平台上运行吗


谢谢。

要做到这一点,您只需在应用程序类中指定一个样式,(您需要将应用程序类更改为由两部分组成:App.xaml和App.xaml.cs,然后创建一个ResourceDictionary来保存您的自定义

<Style TargetType="Button">
    <Setter Property="Image" Value="MyImage.png"/>
</Style>

希望有帮助

干杯,
Tristan

要做到这一点,您只需在应用程序类中指定一个样式,(您需要将应用程序类更改为由两个部分组成:App.xaml和App.xaml.cs,然后创建一个ResourceDictionary来保存您的自定义

<Style TargetType="Button">
    <Setter Property="Image" Value="MyImage.png"/>
</Style>

希望有帮助

干杯,
特里斯坦

你到底想达到什么还不完全清楚……但我试着回答你

如果您使用共享项目(基于模板“空白应用程序(Xamarin.Forms shared”),您可以在所有平台中使用相同的页面/页面定义。
您可以在共享文件夹中添加-例如,登录表单,然后通过代码调用它(例如,从共享文件夹中的另一页调用)。
如果您想创建自己的
控件,您可以创建“用户控件”,并在任何地方使用它(我向每个用户推荐)。
为此,您可以创建一个自己的类(例如,带有条目和标签),实现事件,然后在您想要使用它的地方实例化它

var OeFirma = new EntryErfassung(cDefaultText: "Firma", iMaximalLaenge: 45);
其中OeFirma是页面上对象实例的名称(用于访问),EntryErfassung是我自己的类(包含描述标签、条目和错误标签等)cDefaultText是一个参数,它取代并将默认文本设置为条目,iMaximalaenge是另一个被取代的参数,my class请注意,此条目不接受超过45个字符)

例如,我创建了一个带有描述标签、删除按钮、条目和错误标签的类,并在所有数据输入表单上使用它。
如果要更改特定平台的特定控件的外观,可以创建“自定义渲染”(我已经这样做了,例如将字体大小更改为iOS的特定编辑,因为无法在XF Entry控件中设置字体大小)


希望这能回答你的问题…

还不完全清楚,你到底想达到什么目标…但我试着回答你

如果您使用共享项目(基于模板“空白应用程序(Xamarin.Forms shared”),您可以在所有平台中使用相同的页面/页面定义。
您可以在共享文件夹中添加-例如,登录表单,然后通过代码调用它(例如,从共享文件夹中的另一页调用)。
如果您想创建自己的
控件,您可以创建“用户控件”,并在任何地方使用它(我向每个用户推荐)。
为此,您可以创建一个自己的类(例如,带有条目和标签),实现事件,然后在您想要使用它的地方实例化它

var OeFirma = new EntryErfassung(cDefaultText: "Firma", iMaximalLaenge: 45);
其中OeFirma是页面上对象实例的名称(用于访问),EntryErfassung是我自己的类(包含描述标签、条目和错误标签等)cDefaultText是一个参数,它取代并将默认文本设置为条目,iMaximalaenge是另一个被取代的参数,my class请注意,此条目不接受超过45个字符)

例如,我创建了一个带有描述标签、删除按钮、条目和错误标签的类,并在所有数据输入表单上使用它。
如果要更改特定平台的特定控件的外观,可以创建“自定义渲染”(我已经这样做了,例如将字体大小更改为iOS的特定编辑,因为无法在XF Entry控件中设置字体大小)


希望这能回答您的问题…

要对特定类型的所有元素应用通用外观,您需要使用样式。@Jason谢谢Jason,就像Xamarin的链接示例一样?(第二个链接)是的。他们还有一个关于如何使用表单中的图像的指南-@Jason好吧,如果你能将其作为回复发布,我可以接受。谢谢!要将通用外观应用于某一类型的所有元素,你可以使用样式。@Jason谢谢Jason,就像Xamarin的链接示例一样?(第二个链接)是的。他们也有一个关于使用表单中的图像的指南-@Jason好吧,如果你能把它作为一个回复发布,我会接受的。谢谢!谢谢你的回答。你和Tristan的答案是我想要的。谢谢你的回答。你和Tristan的答案是我想要的。