I found this thread https://www.telerik.com/forums/binding-to-rangestart-and-rangeend-of-radrangeselector that RadRangeSelector's StartRange and EndRange has been changed when data object changed.
Data object can not change when I change RadRangeSelector's StartRange and EndRange by UI.
Followed as my sample code:
public
partial
class
Form2 : Form
{
private
readonly
RangeDataObject dataObject =
new
RangeDataObject { StartRange = 0, EndRange = 100 };
public
Form2()
{
this
.InitializeComponent();
this
.radRangeSelector1.DataBindings.Add(
new
Binding(
"StartRange"
,
this
.dataObject,
"StartRange"
,
false
, DataSourceUpdateMode.OnPropertyChanged));
this
.radRangeSelector1.DataBindings.Add(
new
Binding(
"EndRange"
,
this
.dataObject,
"EndRange"
,
false
, DataSourceUpdateMode.OnPropertyChanged));
}
private
void
Form2_Load(
object
sender, EventArgs e)
{
}
}
public
class
RangeDataObject : INotifyPropertyChanged
{
private
float
startRange;
private
float
endRange;
public
event
PropertyChangedEventHandler PropertyChanged;
public
float
StartRange
{
get
{
return
this
.startRange; }
set
{
if
(
this
.startRange != value)
{
this
.startRange = value;
this
.OnPropertyChanged(
"StartRange"
);
}
}
}
public
float
EndRange
{
get
{
return
this
.endRange; }
set
{
if
(
this
.endRange != value)
{
this
.endRange = value;
this
.OnPropertyChanged(
"EndRange"
);
}
}
}
protected
virtual
void
OnPropertyChanged(
string
propertyName)
{
if
(
this
.PropertyChanged !=
null
)
{
this
.PropertyChanged(
this
,
new
PropertyChangedEventArgs(propertyName));
}
}
}