xamarin.forms 中 Xaml 的可重用性用户控件
reusability user controls of Xaml in xamarin.forms
我正在尝试一种新方法,即 XAML 在 xamarin.forms 中提出申请。此时我面临重用具有图像和标签的堆栈布局的问题。我如何使用 XAML 在不同的页面中重用我的布局。
您实际上可以在单独的 XAML 文件中定义您的自定义组件,然后在您需要的任何地方 link 组件。
例如,带有图像的标签可以组合在专用的 XAML 文件中:
<?xml version="1.0" encoding="utf-8" ?>
<StackLayout xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="UserControls.ImageWithTitle"
VerticalOptions="Center" HorizontalOptions="Center" >
<Label HorizontalOptions="Center"
x:Name="TitleLabel" />
<Image Source="noimage.png" />
</StackLayout>
在 .cs 文件中,我为 TitleLabel 定义了一个绑定
public string TitleName
{
get { return TitleLabel.Text; }
set { TitleLabel.Text = value; }
}
因此,当您将组件包含在另一个布局中时,您可以直接(或通过绑定)分配标签值:
<usercontrols:ImageWithTitle TitleName="Home"/>
我正在尝试一种新方法,即 XAML 在 xamarin.forms 中提出申请。此时我面临重用具有图像和标签的堆栈布局的问题。我如何使用 XAML 在不同的页面中重用我的布局。
您实际上可以在单独的 XAML 文件中定义您的自定义组件,然后在您需要的任何地方 link 组件。
例如,带有图像的标签可以组合在专用的 XAML 文件中:
<?xml version="1.0" encoding="utf-8" ?>
<StackLayout xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="UserControls.ImageWithTitle"
VerticalOptions="Center" HorizontalOptions="Center" >
<Label HorizontalOptions="Center"
x:Name="TitleLabel" />
<Image Source="noimage.png" />
</StackLayout>
在 .cs 文件中,我为 TitleLabel 定义了一个绑定
public string TitleName
{
get { return TitleLabel.Text; }
set { TitleLabel.Text = value; }
}
因此,当您将组件包含在另一个布局中时,您可以直接(或通过绑定)分配标签值:
<usercontrols:ImageWithTitle TitleName="Home"/>