2017-01-04 11 views
0

私はListViewのカスタムデータテンプレートを持っています。 ビジネスオブジェクト(たとえば、タイプ「Person」)は多くのプロパティを持ち、バインドが多すぎることを避けるため、すべてのプロパティに対してを設定します。設定が困難なものもあります。 Xamarinフォーム:アクセスデータバインドされたListViewアイテムのビュー?

は、だから私は、設定ビューのプロパティが を手動/直接は、ちょうど View後に作成されている(例えば、「 PersonCell」の)値 を好むだろうし、それはだDataContextのは 『人』のインスタンスに設定されている/ BindingContext

問題:これらのViewインスタンスへのアクセス方法はわかりません。

データ項目用に作成されたViewにアクセスすることはできますか? そして、私はこれをどこでやりますか?あなたが持っているように、あなたがコントロールするあなたのDataTemplateを抽出する場合

答えて

0

OnBindingContextChangedでは、私は提供されたデータ項目/ BindingContextを関連付けられたビューへのアクセスを得ることができるようには見えません):

partial class PersonCell : Grid 
{ 
    public PersonCell() 
    { 
     InitialiseComponent(); 
    } 

    Protected Override OnBindingContextChanged() 
    { 
     //set up bindings here 
    } 
} 

<ListView> 
    <ListView.ItemTemplate> 
    <DataTemplate> 
     <custom:PersonCell/> 
    </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

01:あなたのビューは、XAML

で定義されている。そして、あなたのListViewにそうようにそれを使用しては、定義したXaml名前空間です(PersonCellが存在します)。

+0

そして、私のPersonオブジェクトをOnBindingContextChangedのPersonオブジェクトに格納することで問題を解決しました。悪いスタイルが、それは動作します。 – fritz

関連する問題