Как динамически изменить content на button?

У меня есть приложение, как показано на рисунке. введите сюда описание изображения

Button выступает в роли ползунка по канвасу. По задумке должно быть так: При перемещении кнопки на ней должна отображаться дата. Я пытался это реализовать следующий образом:

private void Button_PreviewMouseMove(object sender, MouseEventArgs e)
    {
        Canvas canvas = FindVisualChildByName<Canvas>(Tablica, "cnvs");
        int number = 0;

        Control control = sender as Control;    
        Point x = e.GetPosition(canvas);
        if (e.LeftButton == MouseButtonState.Pressed)
        {

            Canvas.SetLeft(control, Canvas.GetLeft(control) + (x.X - p.X));
            int a = Convert.ToInt32(365 * Convert.ToDouble(x.X) / Tablica.Columns[4].ActualWidth);
            int b = Convert.ToInt32(365 * (Convert.ToDouble(x.X)) / Tablica.Columns[4].ActualWidth + control.ActualWidth / 3);
            DateTime date = new DateTime(2021, 01, 01);
            date = date.AddDays(a);
            DateTime dateOne = new DateTime(2021, 01, 01);
            dateOne = dateOne.AddDays(b);
            string s = date.ToString("dd/MM")/* + " - " + dateOne.ToString("dd/MM")*/;
            db.OpenConn();
            DataTable dt = db.ReadVol("SELECT Personal.[Subname], Personal.[FirstName], Personal.[Patronomyc] FROM Personal;");
            db.CloseCon();
            for (int i = 0; i < dt.Rows.Count; i++) {
                if (dt.Rows[i][1].ToString() == Label) {
                    number = i;
                }
            }
            collection[number].Time = s;

        }
        p = x;
    }

Но, дата не отображается как контент у кнопки. Буду благодарен за помощь


Ответы (1 шт):

Автор решения: aepot
Control control = sender as Control;

поменяйте на

Button button = sender as Button;

затем

button.Content = s;
→ Ссылка