完全な解決策を提供することはできませんが、正しい方向に向けることはできます。
Name
まず、とのプロパティを含むデータ構造を作成し、プロパティ変更通知のINotifyPropertyChangedValue
を実装します。
次にViewModel
(または場合によってModel
は ) を にObservableCollection<MyDataObject>
し、データベースからのデータを入力します。
XAML では、コレクションにバインドされたItemsControlを使用し、 を上書きしItemTemplate
て、各項目をHorizontalStackPanel
またはGrid
を含むとしてレンダリングLabel
します。TextBox
TextBox.Foreground
プロパティについては、バインドされているのと同じ値にバインドしますが、値が 0 より上か下かを確認し、正しい色を返すバインディングでIValueConverterTextBox.Text
も使用します。これはバインドであるため、値が変更されるたびに自動的に更新されます。
<TextBox Text="{Binding Value}"
Foreground="{Binding Value, Converter={StaticResource MyCustomConverter}}" />