1

我们如何使用 Xamarin.Forms 在 Windows 通用项目中使用填充/边距设置 TextCell 高度?

我尝试在 Native 项目中使用自定义渲染器:

class CustomTextCellRenderer : TextCellRenderer
{
    public override Windows.UI.Xaml.DataTemplate GetTemplate(Cell cell)
    {
        var d = base.GetTemplate(cell);
        //Set something here???
        return d;
    }
}

但找不到任何要设置的属性。

有设置依赖属性的功能,DataTemplate但我不知道,要设置的高度依赖属性名称是什么?

d.SetValue(???DependencyProperty???, value);
4

1 回答 1

0

由于 TextCell 是内置单元格,因此已对其进行了优化和设计,可以按原样使用。但是,您可以基于 TextCell 模板创建自定义 DataTemplate 并将其返回。

您可以在 Xamarin.Forms源中找到原始模板。然后在 UWP 平台项目中App.xaml,使用不同的键在 ResourceDictionary 中定义新的 DataTemplate:

<DataTemplate x:Key="MyTextCell">
    <StackPanel Background="Aqua">
        <TextBlock
            Padding="0 10 0 10"
            Margin="5"
            Text="{Binding Text}"
            Style="{ThemeResource BaseTextBlockStyle}" />

        <TextBlock
            Text="{Binding Detail}"
            Style="{ThemeResource BodyTextBlockStyle}"
            x:Name="detail"/>
    </StackPanel>
</DataTemplate>

并在自定义渲染器中访问它:

return App.Current.Resources["MyTextCell"] as Windows.UI.Xaml.DataTemplate;
于 2016-07-07T22:24:58.537 回答