1,000,000 行以上のコードベースにいくつかの WPF 機能を追加するロジスティクスを検討しています。XAML でデータバインディングと DataTemplates を使用して、さまざまなオブジェクトを簡単に表示することを検討しています。監視可能なコレクションをバインドできます: points
ListBox に、テンプレートを使用しない場合は、リスト項目に意味のある toString を提供するだけで、どこかに到達できます。テンプレートを使用してリスト項目のさまざまなプロパティを表示したいときに問題が発生します。それらはすべて DependencyProperties でなければならないというのが私の理解です。parent
は単なるプロパティです。依存関係プロパティの追加はかなり複雑なようです。表示するすべてのクラスは継承する必要がありますDependencyObject
使用するプロパティごとに多くのものを設定する必要があります。大規模なコードベースでは、プロパティごとにこれをすべて行う必要があるため、これは実行可能ではないようです。データバインディングが実際にどのように使用されているのか疑問に思っています.本当にすべてのクラスに大量の依存関係プロパティを追加していますか?それとももっと良い方法がありますか?
ありがとう!
<ListBox Name="listBox1"
ItemsSource="{Binding Source={StaticResource points}}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="Point!"/>
<TextBlock Text="{Binding parent}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>