0
たとえば、バインディングを使用してEmployeesでListBoxを作成しています。ListBoxで選択したオブジェクトのその他のプロパティを設定します
10,000ドルを超える従業員をすべて色づけしたいと思います。
おかげ
たとえば、バインディングを使用してEmployeesでListBoxを作成しています。ListBoxで選択したオブジェクトのその他のプロパティを設定します
10,000ドルを超える従業員をすべて色づけしたいと思います。
おかげ
最も簡単な方法は、文字列値を返しますEmployee
でプロパティを実装して、スタイルのデータトリガーに文字列値をテストすることです。例えば:
public string SalaryRange
{
get
{
if (salary <= LowRange)
{
return "Low";
}
if (salary <= MiddleRange)
{
return "Middle";
}
return "High";
}
}
次に、XAMLで、例えば、データ・トリガーを使用してスタイルを実装:
<Style TargetType = "ListBoxItem">
<Style.Triggers>
<DataTrigger Binding="{SalaryRange}" Value="Low">
<Setter Property="Foreground" Value="AliceBlue"/>
</DataTrigger>
<DataTrigger Binding="{SalaryRange}" Value="Middle">
<Setter Property="Foreground" Value="Fucschia"/>
</DataTrigger>
<DataTrigger Binding="{SalaryRange}" Value="Middle">
<Setter Property="Foreground" Value="Goldenrod"/>
</DataTrigger>
</Style.Triggers>
</Style>
多くの人が値コンバータについて学び、使用してのアイデアを、すべてが夢中取得この種のもののためのそれら。 MVVMを使用している場合は、上記は本当にきれいです:プロパティが何をしているのかはっきりしています。スタイルは何か、テストは簡単です。すべての翻訳を行っている別のファイル。
他のプロジェクトでEmployeeクラスを実装しています。 – Gilboss
これは、MVVMパターンを使用する理由です。 'Employee'のインスタンスをラップするWPFプロジェクトに' EmployeeViewModel'を実装すると、UIビューに必要なプロパティでそれを飾ることができます。 –
しかし、他のプロジェクトで宣言している場合は? – Gilboss