В окне WPF я заполняю RadComboBox (но такую же проблему с обычным Combobox) со статическим источником. Работает отлично.Привязать к объекту изнутри ItemContainerStyle
Теперь я хочу проверить каждый элемент на объект вне объекта ComboboxItem. Я написал Multivalue-Converter (который тоже отлично работает), беря объект из элемента combobox и ne, принадлежащего окну WPF.
В combobox у меня есть типы задач, а основной объект называется Task.
Пункт 1: Использование <Binding Path=""/>
Я получаю элемент combobox - но это правильно?
Пункт 2 (и один я не могу вычислить): Как мне добраться до объекта Задача, принадлежащая форме WPF?
окон DataContext устанавливается DataContext="{Binding RelativeSource={RelativeSource Self}}"
объекта Task лежит (на данный момент) в коде позади, как:
private Task task;
public Task Task
{
get { return this.task; }
set
{
this.task = value;
NotifyPropertyChanged("Task");
}
}
Это мой выпадающий:
<telerik:RadComboBox Grid.Row="0" Grid.Column="1" Margin="6,6,6,2" Padding="10,0,0,0" VerticalContentAlignment="Center" ItemsSource="{Binding Source={StaticResource applicationBase}, Path=TaskTypes.TaskTypes}" DisplayMemberPath="Name" SelectedValue="{Binding Path=Task.TaskType, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" telerik:StyleManager.Theme="Windows8Touch" FontSize="16" IsEnabled="{Binding Path=IsEnabledState, Mode=TwoWay}">
<telerik:RadComboBox.ItemContainerStyle>
<Style TargetType="{x:Type telerik:RadComboBoxItem}">
<Setter Property="IsEnabled">
<Setter.Value>
<MultiBinding Converter="{StaticResource ConverterTaskTypeEnabled}">
<Binding Path=""/>
<Binding Path="Task" />
</MultiBinding>
</Setter.Value>
</Setter>
</Style>
</telerik:RadComboBox.ItemContainerStyle>
</telerik:RadComboBox>
Спасибо для вашей помощи!