Я удалил ваши атрибуты дизайна, чтобы решение выглядело немного чище.
Сохраните ваш список TimePeriodType
s в вашем коде:
public List<TimePeriodType> Periods = new List<TimePeriodType>() {
new TimePeriodType() { Name="Hours", Max=6, Min=1 },
new TimePeriodType() { Name="Minutes", Max=59, Min=20 }
};
Убедитесь, что ваш DataContext
правильно настроен, чтобы позволить вам связываться с членами используемого вами класса поддержки.
Затем привяжите ListBox
(или другой элемент управления Selector
) к этому списку.:
<ListBox ItemsSource="{Binding Periods}"
Name="timeType" />
Теперь вы можете напрямую связать свойства Slider
со свойствами SelectedItem
ListBox
(что на самом деле TimePeriodType
из-за предшествующего связывания):
<Slider Maximum="{Binding SelectedItem.Max, ElementName=timeType}"
Minimum="{Binding SelectedItem.Min, ElementName=timeType}"
Name="timeSlider" />
Наконец, вы можете привязать метки к значениям, присвоенным Slider
:
<Label Content="{Binding Value, ElementName=timeSlider}"
Name="timeValue" />
<Label Content="{Binding Minimum, ElementName=timeSlider}"
Name="timeValueMin" />
<Label Content="{Binding Maximum, ElementName=timeSlider}"
Name="timeValueMax" />