Я обычно использую Binding, когда не уверен, существует ли определенное свойство c. Пример:
<DataTemplate x:DataType="Message">
<StackPanel>
<TextBlock Text="{x:Bind Title}" />
// if binding fails, the value is set to 0
<ProgressBar Value="{Binding Progress, FallbackValue=0}"
Maximum="1"
Background="Transparent" />
</StackPanel>
</DataTemplate>
public class Message
{
public string Title { get; set; }
}
public class MessageWithProgress : Message
{
public double Progress { get; set; }
}
Тем не менее, вы можете избежать использования привязки в этом примере, используя DataTemplateSelector .