0
xaml内からのListViewバインディングが動作しますが、C#では機能しません。Xamarin c#ListViewバインディングが機能しません。同等のxamlが動作しています
ここでは、コードスニペットがあります: XAML
<ListView ItemsSource="{Binding Records}">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding}">
</TextCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
C#
ListView lv = new ListView();
lv.ItemsSource = ClassVMInstance.Records;
var dt = new DataTemplate(typeof(TextCell));
dt.SetBinding(TextCell.TextProperty, new Binding("Records"));
lv.ItemTemplate = dt;
ClassVMInstanceは私のViewModelのインスタンスです。
レコード XAMLのバージョンが正常に動作しますObservableCollection<string>
あり、それはテキストを示しているが、C#のバージョンは、単なるテキストなしで空のリスト要素を持っています。
(私は2リストビュー1つのXAMLと他のC#で同じページにこれをテストし、唯一のXAML 1がテキストを示しているが、C#のバージョンがちょうど同じリスト項目の数が、空を持っている)
私はitemssourceプロパティがコード内で正しく動作していると思っていますが、バインディングは誰かが私を助けてくれるのではないでしょうか。
を試してみてください '' ? 、それは感謝を働いたが、私は理由を理解していない。 – Zany
"オブジェクトそのものではなく、オブジェクト自体のバインディング構文です。文字列にバインドしているので、 "。"単に文字列を表示することを意味します。元のコードでは、Recordsはあなたのコレクションであり、コレクション内の各アイテムのプロパティではないため、動作しないレコードにバインドしようとしていました。 – Jason