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

时间:2014-09-12 13:24:52

标签: c# wpf xaml

如果我按名称调用列表,我可以绑定到Item源,但是,我无法通过获取每个组合框上的Items的Count来一致地工作。

以下是我想在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>

1 个答案:

答案 0 :(得分:4)

在绑定中包含RelativeSource组件:

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

您目前拥有绑定子系统的方式将在您设置为ComboBox的DataContext的任何内容中查找Items.Count属性。