で使用される別のContentViewファイルでインテリセンスを結合:XAMLは、私はこの項目テンプレートとリストビューを持つListViewの
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<views:ProjectListEntry />
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
ProjectListEntry
はかなり複雑で、別のリストビューで使用されているので、私は、独自のファイルにそれを持っています。私はこのようにそれを設定している:あなたが見ることができるように
<ContentView
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
...
BindingContext="{x:Static vms:DesignTimeData.ProjectListEntryVm}">
は、結合インテリセンス(ReSharperのを使用して)取得するために、私はDesignTimeDataクラスの静的メンバにBindingContext
を設定しようとしました。これは、私のページ(実行時にBindingContextを置き換える場所)でうまく動作しますが、ListViewで使用されるContentViewの場合、ContentViewのBindingContextはViewCellから継承されているようです。これは、ContentViewの明示的なBindingContextが、実際にListViewによってViewCellに設定されたBindingContextをオーバーライドすることを意味し、すべてのリスト要素は、実行時に静的なデザイン時データを反映します。しかし、BindingContextを削除した場合、ContentViewファイル内にバインドしているメンバのためのインテリセンスは得られません。
このようなコンテンツビューでは、Intellisenseのバインディングを取得する簡単な方法はありますか?
(前述のとおり、ContentViewはかなり複雑で、いくつかのリストで使用されているため、ListView定義のContentViewをインライン化できません。また、私はいくつかの種類のVMロケータを使用できません。バインディング、私は "完全な" MVVMを使用していない - 私は代わりにReduxのようなアーキテクチャを使用しています。と私はVMのロケータは、上記の動作しない同じ理由でとにかくこのケースのために動作しないだろうと思う。)
(私はどんな返事を取得していないXamarin Forumsからのクロス掲載。)