Я всегда описываю F# как кузена OCaml, потому что OCaml имеет много функций, которые F# не имеет и вероятно, никогда не будет, получать. F# более тесно связан с предыдущим языком CAML. В частности, F# имеет очень ограниченную поддержку абстракции и никакую поддержку структурного ввода (как OCaml's объекты и полиморфные варианты ) вообще.
Вопреки тому, что записали некоторые респонденты, F# действительно имеет (ограниченную) поддержку маркированных ("именованных") и дополнительных аргументов.
Однако это все расширенные функции, и можно, конечно, начать справляться с основными идеями позади небольшого функционального программирования OCaml-стиля с помощью ресурсов о OCaml. Первым существенным различием, которое Вы обнаружите, являются проблемы более широкого масштаба как инкапсуляция и абстракция, которые решены совершенно другими способами в OCaml и в F#. Если Вы хотите изучить, как сделать это в F#, единственная доступная литература эта статья о чисто функциональных структурах данных .
я также обнаружил, что замечательная система модуля OCAML помогает параметризовать код по типам (таким как структуры данных), но альтернативы ООП не только отвратительны, но и почти совершенно не использованы на.NET. Кроме того, при попытке записать изящно параметризованные структуры данных я поразил десятки ошибок в компиляторе F#, потому что никто даже не попытался сделать это прежде. F# stdlib действительно содержит некоторые хорошие реализации структуры данных, но фактически никакое повторное использование, т.е. это - cut'n'paste задание.
Замените SystemColors.HighlightBrushKey
(и SystemColors.HighlightTextBrushKey
, если хотите):
<ComboBox>
<ComboBox.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}">Red</SolidColorBrush>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}">Blue</SolidColorBrush>
</ComboBox.Resources>
<ComboBoxItem>One</ComboBoxItem>
<ComboBoxItem>Two</ComboBoxItem>
</ComboBox>
Я создал шаблон для Combobox здесь:
http://wpfstyles.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=31388#DownloadId=78720
Спасибо, Викас