powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / привязка
6 сообщений из 6, страница 1 из 1
привязка
    #37538297
sergei64_89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
создал класс унаследованный от drawvisual(в нём рисую элипс),так же с линией.нужно организовать привязку свойств.это вообще возможно?или я родителя классам выбрал нитакого.
...
Рейтинг: 0 / 0
привязка
    #37538791
sergei64_89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
//новый класс 
public static readonly DependencyProperty xx = DependencyProperty.Register("p1", typeof(Point), typeof(myline), new FrameworkPropertyMetadata(new Point()), new ValidateValueCallback(draw));

   public Point p1
        {
            set { SetValue(xx, value); }
            get { return (Point)GetValue(xx); }
        }
  static  bool draw(object value)
        {
          
                MessageBox.Show("sdf");
         
               return true;
        }
//часть кода канвы
Point p = new Point(9, 9);
    public void addline(myellipse el1,myellipse el2)
    {
        myline line = new myline();
        children.Add(line);
        
        base.AddLogicalChild(line);
        base.AddVisualChild(line);
        line.bind = new Binding("p");
        line.bind.Source =this;
    
        BindingOperations.SetBinding(line, myline.xx, line.bind);
}
   protected override void OnMouseMove(System.Windows.Input.MouseEventArgs e)
    {
        base.OnMouseMove(e);
 
            p = e.GetPosition(this); //тут не выскакивает событие "sdf"

}
...
Рейтинг: 0 / 0
привязка
    #37538867
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergei64_89,

авторDependencyProperty.Register(" p1 "
авторline.bind = new Binding(" p ");
это про бинды

и про мышку: а с чего бы событию выскакивать если нету назначения этого самого события?
...
Рейтинг: 0 / 0
привязка
    #37538921
sergei64_89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообщем у меня реализовано два класса один наследник от drawingvisual, а другой от canvas.так вот мне надо связать свойство класса myline со свойством класса MyVisualHost
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
 class myline:DrawingVisual
    {
public static readonly DependencyProperty xx = DependencyProperty.Register("p1", typeof(Point), typeof(myline), new FrameworkPropertyMetadata(new Point()), new ValidateValueCallback(draw));

   public Point p1
        {
            set { SetValue(xx, value); }
            get { return (Point)GetValue(xx); }
        }
  static  bool draw(object value)
        {
          
                MessageBox.Show("sdf");
         
               return true;
        }
}
public class MyVisualHost : Canvas
{
Point p = new Point(9, 9);
   public Point pp
    {
        set { p=value; }
        get { return p; }
    }
    public void addline(myellipse el1,myellipse el2)
    {
        myline line = new myline();
        children.Add(line);
        
        base.AddLogicalChild(line);
        base.AddVisualChild(line);
        line.bind = new Binding("pp");
        line.bind.Source =this;
    
        BindingOperations.SetBinding(line, myline.xx, line.bind);
}
   protected override void OnMouseMove(System.Windows.Input.MouseEventArgs e)
    {
        base.OnMouseMove(e);
 
            p = e.GetPosition(this); //тут не выскакивает событие "sdf"

}
}
...
Рейтинг: 0 / 0
привязка
    #37539538
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergei64_89,

даете какие-то вырезки из кода и пытаетесь получить ответ, разбирайтесь сами!
...
Рейтинг: 0 / 0
привязка
    #37540132
sergei64_89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
public class BindingObject : DependencyObject
    {
        public DependencyProperty BindingValueProperty;
        public BindingObject()
        {
            BindingValueProperty =
                        DependencyProperty.Register("BindingValue", typeof(bool), typeof(BindingObject),
                        new PropertyMetadata(new PropertyChangedCallback(OnBindingValueChanged)));
        }
        public  void OnBindingValueChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
        {
            MessageBox.Show("s");//  не срабатывает
        }
        public bool BindingValue
        {
            get { return (bool)GetValue(BindingValueProperty); }
            set { this.SetValue(BindingValueProperty, value); }
        }
    }

 public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        Binding binding;
        BindingObject obj;
        bool p;
        public bool pp
        {

            set { p = value; }
            get { return p; }
      

            }
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            binding = new Binding("pp");
            binding.Source = this;
            binding.Mode = BindingMode.OneWay;
           obj = new BindingObject();
            BindingOperations.SetBinding(obj, obj.BindingValueProperty, binding);
           
            
        }

        private void checkBox1_Checked(object sender, RoutedEventArgs e)
        {
            if (p == true)
                pp = false;
            else
                pp = true;
        }
    }
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / привязка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]