Chcę wyświetlić kilka nazw i chcę, aby były edytowalne. Więc użyłem ObservableColection i związałem go z ListView z nową funkcją x: Bind.ListView Dwukierunkowe kompilowane powiązanie (x: Bind)
Oto mój XAML:
<ListView>
<ListView ItemsSource="{x:Bind ViewModel.Players}">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate xmlns:model="using:Flechette.Model" x:DataType="model:Player">
<TextBox Text="{x:Bind Name, Mode=TwoWay}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
A mój kod za:
public sealed partial class GameSettingsPage : Page
{
ViewModel.GameSettingsViewModel ViewModel { get; set; }
public GameSettingsPage()
{
InitializeComponent();
DataContextChanged += (s, e) => ViewModel = DataContext as ViewModel.GameSettingsViewModel;
}
}
Problemem jest to, że TwoWay wiązanie udało się skompilować, otrzymuję 'WeakReference' Błąd CS1061 nie zawiera można znaleźć definicję "LostFocus" i brak metody rozszerzającej "LostFocus", przyjmując pierwszy argument typu "WeakReference" (czy brakuje instrukcji użycia lub odniesienia do zespołu?)
Jak mogę to naprawić?
można wyświetlić pełną XAML. Robisz x: Bind na imprezie LostFocus? –
[Pełny kod XAML] (http://pastebin.com/GL4vZn38) Jak widać, chcę edytować elementy w ListView. Działa poprawnie z klasycznym wiązaniem, ale nie z x: Bind – GaaH
Jeśli zmienisz powiązanie TwoWay z OneWay, czy masz problem? –