これは可能だと思いますが、明白な方法は動作しません。コンテンツが空または空の場合、ContentControlにデフォルトのDataTemplateを表示しますか?
現在、私はこれをやっている:
<ContentControl
Content="{Binding HurfView.EditedPart}">
<ContentControl.Resources>
<Style
TargetType="ContentControl"
x:Key="emptytemplate">
<Style.Triggers>
<DataTrigger
Binding="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=Content}"
Value="{x:Null}">
<Setter
Property="ContentControl.Template">
<Setter.Value>
<ControlTemplate>
<Grid
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
<TextBlock>EMPTY!</TextBlock>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Resources>
</ContentControl>
私はすべてのバインディングエラーが発生していないよ、これがコンパイルされます。ただし、期待した結果が得られません。私はまた明白な試みた:
<DataTemplate DataType="{x:Null}"><TextBlock>Hurf</TextBlock></DataTemplate>
これはコンパイルされません。
<ContentControl
Content="{Binding HurfView.EditedPart}">
<TextBlock>DEFAULT DISPLAY</TextBlock>
</ContentControl>
カスタムテンプレートセレクタを作成せずにこれを行うことはできますか?あなたがContentControlにコンテンツのためにバインディングのFallbackValueとしてDBNull.Valueのを返す、とはDBNullのためのDataTemplateを作成することができ
Worked!ありがとう。 – Will
スタイルやトリガーでもっと複雑なことをしようとすると、人々が作るよくある間違いです。 –
私はこれを返すたびにコメントを残します。ありがとう。 – Will