Esempio n. 1
0
        static void Bind_Dependency_TwoWay()
        {
            // [STAThread] is unnecessary.
            // Binding Source (Any object).
            var person = new Person2 {
                Id = 123, Name = "Taro"
            };

            // Binding Target (DependencyObject).
            var target = new Person2 {
                Id = 999, Name = "Default"
            };

            Console.WriteLine(target.Name);

            // Binds target to source.
            // Default mode is OneWay.
            var binding = new Binding(nameof(person.Name))
            {
                Source = person, Mode = BindingMode.TwoWay
            };

            BindingOperations.SetBinding(target, Person2.NameProperty, binding);
            Console.WriteLine(target.Name);

            // Changes source value.
            person.Name = "Jiro";
            Console.WriteLine(target.Name);

            // Changes target value.
            target.Name = "Saburo";
            Console.WriteLine(person.Name);
        }
Esempio n. 2
0
        static void Bind_Dependency_TwoWay()
        {
            // [STAThread] is unnecessary.
            // Binding Source (Any object).
            var person = new Person2 { Id = 123, Name = "Taro" };

            // Binding Target (DependencyObject).
            var target = new Person2 { Id = 999, Name = "Default" };
            Console.WriteLine(target.Name);

            // Binds target to source.
            // Default mode is OneWay.
            var binding = new Binding(nameof(person.Name)) { Source = person, Mode = BindingMode.TwoWay };
            BindingOperations.SetBinding(target, Person2.NameProperty, binding);
            Console.WriteLine(target.Name);

            // Changes source value.
            person.Name = "Jiro";
            Console.WriteLine(target.Name);

            // Changes target value.
            target.Name = "Saburo";
            Console.WriteLine(person.Name);
        }