データをContentControlに手動で再バインドしようとしています。WPF ContentControlにデータを手動で再バインドします。
<UserControl.Resources>
<local:MyModel x:Key="myModel" />
<DataTemplate DataType="{x:Type local:MyModel}">
<StackPanel>
<TextBlock Text="{Binding Path=Property1}"></TextBlock>
</StackPanel>
</DataTemplate>
</UserControl.Resources>
<Grid>
<ContentControl Content="{Binding Source={StaticResource myModel}}" Name="myView">
</ContentControl>
</Grid>
そして
MyModel myModel = this.FindResource("myModel") as MyModel ;
myModel.Property1 = "Test";
var bindingExpression = myView.GetBindingExpression(ContentControl.ContentProperty);
bindingExpression.UpdateTarget();
の背後にあるコードではなく、私が何をしないのです、動作するようには思えないのですか?
モデルはINotifyPropertyChangedを実装していますか?デバッグ出力にバインディングエラーがありますか? –
あなたのContentControlの名前が 'myview'で、' cntView'を使ったコードビハインド以外は、StaticResourceへのバインディングと関係があると思います。静的とは通常は変更されないことを意味するため、WPFは一度バインドして忘れてしまいます。 – Rachel
@Erno:モデルはINotifyPropertyChangedを実装していませんが、データを手動で再バインドしようとしている理由はありません。また、私はエラーを見ていない。 – exoz