Как передавать значение из переменной C# в Slider Maximum (XAML) хоть сколько раз?
Умоляю, прошу помогите кто знает. С этим 2 недели мучаюсь. Нужно из переменной при нажатии на кнопку перенести значение в Slider Maximum и сделать так, чтобы она могла изменяться. То есть: первый раз нажал на кнопку - у слайдера максимальное значение отправилось 10, второй раз нажал на кнопку - у slider maximum значение поменялось на другое и так хоть сколько раз. У меня получилось(это совсем было не сложно, я уверен с этим каждый начинающий даже справиться) сделать передачу из кнопки, но я не понимаю, что нужно сделать чтобы как-бы "забиндивать" данную переменную в slider maximum.
class Perv
{
public static double d;//изменяю её
public static void Favorite_Clicked(object sender, EventArgs args)
{
VtorClass.Max = d;//я знаю, что можно изменять напрямую(не прибегая к переменной d, её написал просто чтобы было наглядно понятно где изменяется данные,
//может для примера написать цикл for с этой переменной, но сути не меняет: данная переменная изменяется и при нажатии на кнопку должна меняться переменная обозначающая максимальное возможное число slider maximum
}
}
public class VtorClass
{
public static double Max;
}
public class Tri
{
//это класс, где (если должна) содержатся логика присваивания slider maximum значение
}
Также пробовал вариант: Maximum="{x:Static local:VtorClass.Max}", но у него есть проблема - он работает, но работает только один раз при запуске, дальше если будешь менять ту переменную - она меняется только в классе, а свойство Maximum к ней не обращается(не реагирует).
Вы гораздо лучше разбираетесь во всём этом чем я, могли бы Вы подсказать:
Я попробовал, то что Вы рекомендовали, и правда работает, значения передаёт, но передаёт только одно, если писать через -
public void OnPropertyChanged(double x)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(x));
}
public event PropertyChangedEventHandler PropertyChanged;
private static double d = 3;
public double Mx
{
get => d;
set
{
OnPropertyChanged(nameof(Mx));
}
}
public void Dada(object sender, System.EventArgs e) //кнопка
{
d += 1;
}
, то он выдаёт ошибку CS1503 Аргумент 1: не удается преобразовать из “double” в “string”. попробовал через PropertyChangedEventHandler, но в данном случае - CS0149 Требуется имя метода.
Я считаю, что сделать данную задумку должно быть легко, так как такая вещь довольна часто используется(привязка double из C# в переменную Xaml’а, но как её сделать не пойму).
Не могли бы Вы мне помочь пожалуйста? Вы гораздо лучше в программировании разбираетесь, чем я, очевидно сделали не один и не 10 проектов.