hideRowは、テーブルのフィールドでない場合(すなわちないDataGridRowの列):
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<DataTrigger Binding="{Binding AnyProp, Converter={StaticResource hiddenConverter}}" Value="True">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
そして、あなたのロジックとのコンバータを実現。上のAnyPropというバインドされた変数の型は、下のyourPropertyTypeになります。 AnyPropは、行内の任意の列にすることができます。
[ValueConversion(typeof(yourPropType), typeof(bool))]
public class hiddenConverter: IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (hideRow == "Yes")
{
return true;
}
else
{
return false;
}
}
}
「の値が」AnyPropになり、そしてそれは、そのような中「hideRow」として、行を表示するか否かを判定し、またはその決定は完全に何か他のものに基づいて行うことができるロジックで使用することができます例。
「hideRowはテーブルのフィールドではない」とは何を意味するのか分かりません。申し訳ありませんが、英語は母国語ではなく、間違った文法のために私には意味がありません。 – WoIIe
以下のコードの 'hideRow'は偽の変数です。本当にそれはあなたが実装する必要があるカスタムロジックです。 – progpow
ありがとう、これは正しい軌道に乗った。 @Wolle私はそれを修正しようとしました、うまくいけばそれは意図された方法で。 IValueConverter.ConvertBackメソッドを追加する必要がありました。そうしないとコンパイルされませんでした。その周りに何らかの方法があるかどうかわかりません。私にとって最後のことではありませんでしたが、1つのフィールドだけでなく、バインドされた行オブジェクト全体を渡すことが可能かどうか疑問に思っていました。 – njplumridge