質問

のデータ構造が与えられます:

type Candidate =  SalesRep of SalesRep | Analyst of Analyst

type ScorableCandidate = {
    candidate: Candidate ;
    mutable comments: string ;
    mutable score: int ;
}

また、いずれかの候補者を表示できるようにしたいデータグリッドは、ScorableCandidateにバインドすることができますか?

<telerik:GridViewDataColumn Header="First Name" DataMemberBinding="{Binding candidate.fname}" IsFilterable="False" Width="100"/>

バインディングの構文は、タイプを解体できるようにしていないので、私は考えていません。

どうも

t

役に立ちましたか?

解決

私はあなたがアクセスするのに苦労するべきではないと信じています candidate レコードタイプのフィールド(レコードフィールドが標準の.NETプロパティとして表示されるため)。

差別された組合に関して - ジュリエットが示唆するように、カスタムタイプのコンバーターを使用するという提案が好きです。別のより簡単なオプションは、を公開することです fname フィールド(両方が共有しています SalesRepAnalyst 私があなたの例を正しく理解している場合)のプロパティとして Candidate タイプ:

type Candidate = 
  | SalesRep of SalesRep 
  | Analyst of Analyst 
  member x.Name = 
    match x with
    | SalesRep s -> s.fname
    | Analyst a -> a.fname

次に、プロパティへのバインディングに標準のWPFバインディング構文を使用できるはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top