@Bodden

Как правильно привязать класс в XAML?

Здравствуйте.
Есть класс:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;

namespace TraidingDiagrams
{
    internal class OrdinateAxis : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler? PropertyChanged;
        private int _location;
        private int _xValue;

        public int Location
        {
            get { return _location; }
            set { _location = value; }
        }
        public int XValue
        {
            get { return _xValue; }
            set { _xValue = value; }
        }
        public void Values()
        {
            XValue = 0;
            while (true)
            {
                Task.Delay(100).Wait();
                OnPropertyChanged("XValue");
                XValue++;
            }

        }

        protected void OnPropertyChanged([CallerMemberName] string name = " ")
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
        }
    }
}

Привязываю его через Data Context:
public partial class MainWindow : Window
   {
       public MainWindow()
       {
           InitializeComponent();
           OrdinateAxis ordinateAxis = new OrdinateAxis();
           Task.Run(() => { ordinateAxis.Values(); });
           DataContext = ordinateAxis;
       }
   }

В XAML:
<Canvas Grid.Column="0">
       <Label Name="Lable1"  Canvas.Top="{Binding Path=XValue}" Foreground="White" Content="{Binding Path=XValue }"></Label>
   </Canvas>


Все без проблем работает. Но меня смущает один момент, везде приводиться пример привязки через Window.Resources и вот тут у меня загвоздка. Я пытаюсь вставить, но получаю ошибку и больше код не работает.
662b2d45ce654226821727.jpeg
662b2d4f5aacc629140131.jpeg

Подскажите как правильно это делать? Пытался вставить Data Context напрямую в XAML тоже потерпел фиаско. Во всех примерах Митанита и лернинг МС ресурсы добавляют в XAML, а на мне видно проклятие...
Спасибо.
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы