Ada ListView yang diikat ke ObservableCollection string. Listview memiliki satu label dan satu ContentView (tidak berisi apa-apa selain label). Keduanya terikat pada koleksi yang sama.
Juga, ada tombol yang menghasilkan beberapa data acak untuk koleksi.
Masalahnya adalah ketika saya menjalankan aplikasi dan mengklik tombol Hasilkan Data, label akan diperbarui tetapi bukan ContentView.
Label di dalam Tampilan Konten juga harus berubah.
Label di dalam Tampilan Konten tetap sama
Paket Nuget:
Xamarin.Forms
NETStandard.Library
Perangkat yang Terpengaruh:
Ditanyakan di stackoverflow seminggu yang lalu - https://stackoverflow.com/questions/50211197/xamarin-forms-user-control-binding-inside-listview
sedang mengerjakan
this.BindingContext = this;
di MagicBox.xaml.cs memaksa BindingContext ke objek saat ini. Ini juga berarti bahwa BindingContext dari induk tidak lagi diwarisi.
untuk membuatnya berfungsi, ubah kode Anda di belakang menjadi
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class MagicBox : ContentView
{
public static readonly BindableProperty TextProperty =
BindableProperty.Create("Text", typeof(string), typeof(MagicBox), default(string));
public string Text
{
get { return (string)GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}
public MagicBox ()
{
InitializeComponent ();
}
}
dan xaml Anda ke
<?xml version="1.0" encoding="UTF-8"?>
<ContentView xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="TestSample.Controls.MagicBox"
x:Name="box">
<ContentView.Content>
<Grid>
<Label Text="{Binding Text, Source={x:Reference box}}" />
</Grid>
</ContentView.Content>
</ContentView>
Terima kasih @StephaneDelcroix , itu berhasil :)
Komentar yang paling membantu
sedang mengerjakan
di MagicBox.xaml.cs memaksa BindingContext ke objek saat ini. Ini juga berarti bahwa BindingContext dari induk tidak lagi diwarisi.
untuk membuatnya berfungsi, ubah kode Anda di belakang menjadi
dan xaml Anda ke