如何使用样式和DataTrigger绑定到XAML中源项的计数

本文关键字:XAML 样式 何使用 DataTrigger 绑定 | 更新日期: 2023-09-27 18:21:43

如果我按名称调用列表,我可以绑定到Item源,但我无法通过获取每个单独组合框上的Items计数来使绑定正常工作。

以下是我想在XAML中执行的操作。我需要更改什么才能使此绑定生效?

<Grid.Resources>
  <Style TargetType="ComboBox">                             
     <Style.Triggers>
       <DataTrigger Binding="{Binding Path=Items.Count}" Value="0">
          <Setter Property="IsEnabled" Value="False"></Setter>
       </DataTrigger>
     </Style.Triggers>
   </Style>
</Grid.Resources>
   <ComboBox
    ItemsSource="{Binding MyList}"               
    SelectedItem="{Binding SelectedElement}"
    ItemTemplate="{StaticResource MyTemplate}">
      </ComboBox>

如何使用样式和DataTrigger绑定到XAML中源项的计数

在绑定中包含RelativeSource组件:

<DataTrigger Binding="{Binding Path=Items.Count, RelativeSource={RelativeSource Self}}" 
             Value="0"
             >

按照当前的方式,绑定子系统将在您设置为ComboBox的DataContext的任何对象上查找Items.Count属性。