WPF在数据绑定ComboBox上更改ComboBoxItem的可见性

时间:2014-03-12 13:36:21

标签: wpf vb.net linq combobox

我有一个通过linq查询数据绑定的组合框。其中一个字段称为CSVError,为1或0。

我有一个单独的组合框,其中包含PDF和CSV选项。

选择PDF时,第一个组合框应正常显示。选择CSV时,第一个组合框应该具有comboboxItems,当CSVError = 1时背景设置为红色,CSVError = 0时设置为正常。

我试过这个......

 <Style TargetType="ComboBoxItem" x:Key="CSVError">
     <Style.Triggers>
        <DataTrigger Binding="{Binding bolCSVError}" Value="0">
           <Setter Property="Visibility" Value="Visible"/>
        </DataTrigger>
        <DataTrigger Binding="{Binding bolCSVError}" Value="1">
           <Setter Property="Visibility" Value="Collapsed"/>
        </DataTrigger>
     </Style.Triggers>
  </Style>

然后在代码中,当PDF / CSV组合框被更改时......

If sender.selectedValue.strExtension = "CSV" Then
   ReportList.ItemContainerStyle = Resources.Item("CSVError")
Else
   ReportList.ItemContainerStyle = Nothing
End If

这似乎不起作用。使用Visual Studio调试器,我可以看到VB.Net代码正在正确执行,但样式未正确应用(红色背景根本不应用)。有任何想法吗?

1 个答案:

答案 0 :(得分:0)

没关系......事实证明bolCSVError在绑定数据中不存在...将它添加到我的linq查询中它运行正常。