Wpf 数据绑定:禁用组合框项

Wpf 数据绑定:禁用组合框项,wpf,xaml,data-binding,Wpf,Xaml,Data Binding,我想申请我的案子。唯一的区别是我的组合框从枚举列表中获取其项 我总是在组合框样式中的属性“IsProgrammabile”中遇到绑定表达式错误 我的代码: <ListView ItemsSource="{Binding SchedaSelezionata.ListaIngressi}" SelectionMode="Single"> <ListView.View> <GridView> <GridViewC

我想申请我的案子。唯一的区别是我的组合框从枚举列表中获取其项

我总是在
组合框
样式中的属性“IsProgrammabile”中遇到绑定表达式错误

我的代码:

<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、descripzione、configurabileDaute)属于同一对象。 将
AncestorType
设置为
GridView
ListView
没有帮助

你能提供解决方案并解释我在这方面不理解的地方吗


提前感谢组合框本身没有名为
IsProgrammabile
的属性,但是它的
DataContext
可能有属性,因此您应该将“DataContext.”添加到绑定路径中:

<Setter Property="IsEnabled" Value="{Binding Path=DataContext.IsProgrammabile, 
                    RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ComboBox}}}"/>


什么绑定不起作用?用于禁用组合框项的绑定,即与属性IsProgrammabile的绑定。我觉得这很明显。我的错误但是绑定到ConfigurableDaute属性有效吗?或者为什么要禁用组合框本身和单个项?除了ItemContainerStyle部分之外,其他一切都可以正常工作。我希望组合框显示所有项目,但其中一些项目不应该是可选的(即,它们应该被禁用)。