1

Xamarin.Forms を使用して、Windows ユニバーサル プロジェクトでパディング/マージンを使用して TextCell の高さを設定するにはどうすればよいですか?

ネイティブプロジェクトで次のカスタムレンダラーを試しました:

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 に答える