フォームこのように:
<StackPanel>
<StackPanel Orientation="Horizontal" Visibility="{Binding FirstName, Converter={StaticResource CollapsedWhenNullConverter}}">
<TextBlock Text="First Name:" />
<TextBlock Text="{Binding FirstName}" />
</StackPanel>
<StackPanel Orientation="Horizontal" Visibility="{Binding LastName, Converter={StaticResource CollapsedWhenNullConverter}}">
<TextBlock Text="Last Name:" />
<TextBlock Text="{Binding FirstName}" />
</StackPanel>
</StackPanel>
あなたは値がnullでないとき値がnullと表示されているとき、折りたたみ返すために、コンバータCollapsedWhenNullConverterを書くことができます。このように:
class CollapsedWhenNullConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
return (value == null) ? Visibility.Collapsed : Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}
それはあなたが本当に必要な場合、それはあなたのためのnullフィールドを非表示にします。同等のカスタムVisibleWhenTrue
コンバータも作成できません。それはあなたのデータに左右されますが、ディスプレイをダイナミックにし始める必要があります。
この問題に対処する方法はたくさんあります。 _あなたが問題を絞り込む必要があります_。テンプレートは「XAMLをハードコーディングしない」ことに対処する方法です。値がnullの場合、項目を非表示にするトリガーを持つスタイルを持つテンプレートを作成できます。 _something_を試してください。それから問題があれば、あなたが試したことを明確に示す良い[mcve]と、あなたが何を問題にしているのかを明確に正確に説明する新しい質問を投稿してください。 –
さて、あなたが見たいものを理解しています。 StackOverflowの質問をするために、実際のプロジェクトやGoogleの検索履歴を提供する必要はありません。下の私の答えを見てください。 –