F#模式与DataGridColumn.Visibility匹配

Phi*_*own 5 .net enums f# pattern-matching

我遇到的情况是我使用模式匹配来确定列的可见性属性. System.Windows.Visibility有两个字段, Visibility.VisibleVisibility.Collapsed.可以enyone告诉我为什么以下代码:

let colItem = myDataGrid.Columns.Item 1
     chkBox.IsChecked <-
          match colItem.Visibility with
               | Visibility.Visible -> new Nullable<bool>(true)
               | Visibility.Collapsed -> new Nullable<bool>(false)
Run Code Online (Sandbox Code Playgroud)

生成以下警告:

不完整的模式匹配此表达式.例如,值"2uy"可以指示模式未涵盖的情况.

sep*_*p2k 7

理论上,Visibility类型的值可以是Visible或Collapsed以外的值,因为.net枚举允许底层整数类型的任何值作为枚举类型的值(允许ORing枚举之类的东西).