Я хочу, чтобы моя ViewModel прошла через все внутренние элементы моего gridView с помощью функции Test (). Мой "gridVariable" (см. Код) по какой-то причине возвращает ноль. При получении и установке значений в TextBox у меня нет проблем. Почему GridView возвращает нуль и как я могу это исправить?
MainViewModel.cs
public class MainViewModel : Observable, INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public MainViewModel(){}
private GetGridView _myGridView = new GetGridView();
public GetGridView MyGridView
{
get { return _myGridView; }
}
public void Test()
{
var gridVariable = MyGridView.AnswersGrid;
foreach (var i in gridVariable.Items) MyText.Text += "x";
}
private GetText _myText = new GetText();
public GetText MyText
{
get { return _myText; }
set
{
_myText = value;
}
}
}
GetGridView.cs
public class GetGridView : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private GridView _grid;
public GridView AnswersGrid
{
get { return _grid; }
}
}
MainPage.xaml.cs
public MainViewModel ViewModel { get; } = new MainViewModel();
public MainPage()
{
InitializeComponent();
this.DataContext = ViewModel;
}
MainPage.xaml
<RelativePanel>
<GridView
x:Name="GridView"
ItemsSource="{Binding MyGridView.AnswersGrid, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
<TextBox Text="{Binding MyText.Text, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<TextBox/>
</GridView>
<Button RelativePanel.Below="GridView" Content="butn" Click="{x:Bind ViewModel.Test}"></Button>
</RelativePanel>