2017-03-04 3 views
0

DataTemplateにバインドされている親クラスがあります。親クラスからいくつかの子クラスを導き出しました。それらは非常に似ているので、1つのDataTemplate全体にレンダリングしたいと思います。複数のクラスの単一のDataTemplate

<DataTemplate DataType="{x:Type local:ParentClass}"> 
... 
<TextBox Text="{Binding Path=TemperatureText}" ../> 
... 
</DataTemplate> 

TemperatureTextは、親クラスにはないが一部の子クラスのみに存在するプロパティです。財産を所有していない子クラスを作成する場合は、次のエラーメッセージが生成されます。

BindingExpression path error: 'TemperatureText' property not found on 'object... 

多くがあるので、しかし、私はすべての子クラス用に別のDataTemplateを作成する必要はありません。代わりがありますか?

答えて

2

2つの解決策があります。

  1. あなたは、プロパティをTemperatureTextているだろう、あなたの親クラスから派生する別の抽象クラスを作成し、それから、そのプロパティを持つすべての既存のクラスを導き出すことができます。あなたは2つのDataTempateで終わります.1つはTemperatureTextプロパティを持つクラスで、もう1つはOhterクラスです。

  2. ただ、親クラスにTemperatureTextプロパティを移動し、いくつかの派生クラスで空のままにしておき