私は最近、プロジェクト用にXamarinフォームで作業していましたが、TableViewを使用してWeb APIから取得したレコードの詳細を表示しています。場合によっては特定の詳細が表示されない場合がありますので、情報を表示するセクションを非表示にしたい場合があります。XamarフォームでTableSectionをXAMLで非表示にするにはどうすればよいですか?
しかし、私はTableSectionを非表示にする方法を見つけることができません。
は、ここではいくつかのXAMLです:
<TableView>
<TableRoot>
...
<!--Contact info-->
<TableSection IsVisible="{Binding HasContact}" Title="Contact">
<!--Contact name-->
<TextCell Text="{Binding ContactName}" Detail="Primary contact" />
<!--Phone-->
<TextCell Text="Phone"
Detail="{Binding FormattedContactPhoneNumber}"
Command="{Binding BindingContext.DialPhoneCommand, Source={x:Reference MainGrid}}"
CommandParameter="{Binding ContactPhoneNumber}"/>
<!--Email-->
<TextCell Text="Email"
Detail="{Binding ContactEmail}"
Command="{Binding BindingContext.SendEmailCommand, Source={x:Reference MainGrid}}"
CommandParameter="{Binding ContactEmail}"/>
</TableSection>
</TableRoot>
</TableView>
もちろん、のisVisibleプロパティが動作しませんでしたし、それが存在しないため、例外がスローされます(これは、ラベルのような他の要素上に存在しています)。私も無効なキャスト例外をスローするVisualElement.IsVisible
を使ってみました。だからこのセクションを隠す方法はありますか?
それを行う方法がない場合は、おそらく私は汚れた道を行くと、別TableViewsを使用する必要があります(あり、私はVisualElement.IsVisibleを使用することができます):(
私は私が好きなだけxamarinで働いていない怖いが、それは一般的なXAML基準を運ぶ場合にはVisibility'プロパティは、あなたのブール値を置く 'だろうコンバータを介して、パラメタとして「可視」または「折りたたみ」のいずれかになります。すなわち、 'Visibility =" Collapsed "' –
Xamarin Formsは独自のカスタムコントロールを使用していますが、Visibilityプロパティは使用できません。フォームは実行時にネイティブコントロールに変換されます。 – Eric
本当ですか?まあそれは残念です。 MSがそれらを買って以来、彼らは長い標準的な慣習のいくつかを採用しようとするかもしれないかと思います。私は時間があるときには、ザマリンといっしょにしなければなりません。乾杯。 –