0

XAML Slider при изменение атрибута Minimum и получение его значения в элемент TextBox выдает ошибку:

System.NullReferenceException: "Ссылка на объект не указывает на экземпляр объекта.".

Значение атрибута Minimum обычно равно 0. И когда нужно получить значение в текст бокс достаточно:

TxtBlock.Text = Convert.ToString(slider1.Value);

Но когда меняется значение Minimum на другое например 100 то получается ошибка:

System.NullReferenceException: "Ссылка на объект не указывает на экземпляр объекта.". Вот как выглядит XAML:

<Slider x:Name="slider1" TickPlacement="BottomRight" Ticks="100 200 300 400 500 600 700 800 900 1000" TickFrequency="100" Foreground="#FF1844DA" ValueChanged="slider1_ValueChanged" IsSnapToTickEnabled="True" Value="100" Minimum="100" Maximum="1000"/>

Думал нужно изменить значение атрибута Value на начальное базовое значение и все получится, но это никак не помогло. Надеюсь на вашу помощь, заранее спасибо!

Kodz
  • 1
  • Используйте Binding для Value к свойству типа int и не будет у вас никогда null. Вообще в WPF без привязки данных мало чего вменяемого можно написать. И проблемы лезут изо всех щелей, типа вашей. – aepot Nov 13 '22 at 12:50
  • @aepot Спасибо, что ответили. Можете дать пример того как нужно использовать Binding для этой задачи. Мы к сожалению еще не дошли до этой темы в колледже. А изучать полностью документацию ради 1-ой проблемы не хочется. Заранее благодарю! – Kodz Nov 13 '22 at 13:20
  • Спасибо большое @aepot! Я немного посмотрел про Binding и сделал привязку TextBox его атрибута Text к значению атрибута Value эл-та Slider, и благодаря этой теме я могу избавиться от лишних обработчиков. – Kodz Nov 13 '22 at 13:48
  • Ура, я рад что получилось – aepot Nov 13 '22 at 14:25

0 Answers0