私は、チェックボックスのIsCheckedプロパティをコードビハインドのget/setでバインドするプロジェクトを持っています。ただし、アプリケーションが読み込まれると、何らかの理由で更新されません。WPF DataBindingは更新されませんか?
//using statements
namespace NS
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
private bool _test;
public bool Test
{
get { Console.WriteLine("Accessed!"); return _test; }
set { Console.WriteLine("Changed!"); _test = value; }
}
public MainWindow()
{
InitializeComponent();
Test = true;
}
}
}
XAML:興味をそそられ、私はこのように、その基本に、それを剥ぎ取ら
<Window x:Class="TheTestingProject_WPF_.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" DataContext="{Binding RelativeSource={RelativeSource Self}}">
<Grid>
<Viewbox>
<CheckBox IsChecked="{Binding Path=Test, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</Viewbox>
</Grid>
をそして、見よ、私はそれをtrueに設定すると、見よ、それは更新されませんでした!
誰でも修正プログラムを用意することができますか、その理由を説明できますか?
ありがとうございます。
読む[入門材料](http://msdn.microsoft.com/en-us/library/ms752347.aspx) –
私はMSDNではなく別のソースを読み込んでいるので、私はdownvoteにはふさわしくないと思います... –
@ofstream私はdownvoteをしませんでしたが、この質問は研究努力を示していないためです。この問題は非常に基本的なものであり、WPFのバインディングシステムを扱う人は、INotifyPropertyChangedを実装して、バインディングが変更されたときにバインディングを再評価するようにUIに通知する必要があることを知っています。バインディングを導入するほとんどすべての単一WPFチュートリアルでこの概念がカバーされています。 – Rachel