Я пытаюсь применить это решение к моему делу. Разница лишь в том, что мой ComboBox
берет свои предметы из списка enum.
Я всегда получал ошибку выражения привязки к свойству "IsProgrammabile" в стиле ComboBox
.
Мой код:
<ListView ItemsSource="{Binding SchedaSelezionata.ListaIngressi}" SelectionMode="Single">
<ListView.View>
<GridView>
<GridViewColumn Header="NR." DisplayMemberBinding="{Binding Numero}" />
<GridViewColumn Header="FUNCTION" >
<GridViewColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Source={helpers:EnumBindingSource {x:Type models:INGRESSI}}}" SelectedItem="{Binding Funzione}"
ToolTip="{Binding Descrizione}" IsEnabled="{Binding ConfigurabileDaUtente}" Width="150" >
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem">
<Setter Property="IsEnabled" Value="{Binding Path=IsProgrammabile, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ComboBox}}}"/>
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
Обратите внимание, что свойство IsProgrammabile принадлежит тому же объекту, что и другие свойства (Numero, Funzione, Descrizione, ConfigurabileDaUtente).
Установка AncestorType
на GridView
или ListView
не помогает.
Можете ли вы дать решение и объяснить, что я не понимаю в этом контексте?
Заранее спасибо