Я хочу отобразить несколько имен, и я хочу, чтобы они были доступны для редактирования. Итак, я использовал ObservableColection и привязал его к ListView с новой функцией x: Bind.ListView двухсторонняя скомпилированная привязка (x: привязка)
Вот мой 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>
И мой код позади:
public sealed partial class GameSettingsPage : Page
{
ViewModel.GameSettingsViewModel ViewModel { get; set; }
public GameSettingsPage()
{
InitializeComponent();
DataContextChanged += (s, e) => ViewModel = DataContext as ViewModel.GameSettingsViewModel;
}
}
Проблема заключается в том, что TwoWay привязка не удалось собрать, я получаю 'WeakReference' ошибка CS1061 не содержит определение для «LostFocus» и никакого метода расширения «LostFocus», принимающего первый аргумент типа «WeakReference», можно найти (вам не хватает директивы использования или ссылки на сборку?)
Как это исправить?
Можете ли вы показать полный XAML. Вы делаете x: привязываетесь к событию LostFocus? –
[Полный код XAML] (http://pastebin.com/GL4vZn38) Как вы можете видеть, я хочу редактировать элементы в ListView. Он работает правильно с классическим связыванием, но не с x: Bind – GaaH
Если вы измените привязку TwoWay к OneWay, вы получите эту проблему? –