ビジネス オブジェクト ( なしAllowNullLiteralAttribute
) があるとします。
type Person(name: string) =
member val Name = name
override x.ToString() = name
そして、選択された人がオプションで設定されたビューモデル。
type MainWindowModel() =
let mutable selectedPerson: Person option = None
:
member val People = ObservableCollection<Person>()
member x.SelectedPerson
with get() = selectedPerson
and set(v) =
if selectedPerson <> v then
selectedPerson <- v
x.RaisePropertyChanged("SelectedPerson")
SelectedItem
(を使用せずに) WPF コントロールのプロパティを F# オプション プロパティにバインドする最良の方法は何AllowNullLiteralAttribute
ですか?
私がこれをしたら...
<StackPanel>
<ListBox ItemsSource="{Binding People}"
SelectedItem="{Binding SelectedPerson}"
DisplayMemberPath="Name" />
<TextBlock Text="{Binding SelectedPerson}" />
</StackPanel>
...エラーになります。 「George」を「Person」型から「Microsoft.FSharp.Core.FSharpOption`1[Person]」型に変換できません