我知道我可以指定ItemsSpacing来设置每个元素的空间
但是我找不到属性来指定元素的高度和宽度
我必须为每个元素设置宽度值吗?
我希望每个元素都具有相同的大小。
答案 0 :(得分:1)
如果要将 DataTemplate 设置为相同的大小。您无需设置每个元素的值。您可以使用数据绑定并在后面的代码或ViewModel中设置高度和宽度。
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="http://xamarin.com/schemas/2014/forms/design"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Name="contentPage" // set the name of the contentpage
x:Class="xxx.MainPage">
<DataTemplate>
<Frame WidthRequest="{Binding Source={x:Reference contentPage}, Path=BindingContext.FrameWidth}" HeightRequest="{Binding Source={x:Reference contentPage}, Path=BindingContext.FrameHeight}" HorizontalOptions="FillAndExpand">
</Frame>
</DataTemplate>
public double FrameHeight { get; private set; }
public double FrameWidth { get; private set; }
//...
FrameHeight = xxx;
FrameWidth = xxx;
如果您只想设置控件的大小(如按钮或标签),这里有一个类似的thread也许可以为您提供帮助。