Загрузка данных для WPF Control - PullRequest
0 голосов
/ 08 июля 2019

Я использую mvvm light toolkit, и я не знаю, где разместить публичную команду для загрузки данных. я новичок в mvvm, и я хотел бы знать, куда это идет, куда, как следует.

Пробовал изучать фреймворк mvvm, у некоторых есть структура папок для доступа к данным. сейчас я попытался получить доступ к текстовому представлению представления, которое привязано к модели представления, которая имеет свойство для данных

вот код, где я пытаюсь получить доступ к контексту данных

        Case "tabShutout"
            Dim tempDatagrid As System.Windows.Controls.DataGrid = DirectCast(ctlShutout.Controls("dgShutout"), System.Windows.Controls.DataGrid)
            DirectCast(tempDatagrid.DataContext, Vessel_Movement_Report_Creator_User_Controls.ViewModel.MainViewModel).LoadShutout(clsVMR.ShutoutContainers)

вот мой взгляд модель

public class MainViewModel : ViewModelBase
{
    /// <summary>
    /// Initializes a new instance of the MainViewModel class.
    /// </summary>
    /// 
    private ObservableCollection<Model.Shutout_Container> _shutoutContainers;
    private Model.Shutout_Container _selectedContainer;
    public MainViewModel()
    {
        ////if (IsInDesignMode)
        ////{
        ////    // Code runs in Blend --> create design time data.
        ////}
        ////else
        ////{
        ////    // Code runs "for real"
        ////}
    }
    public ObservableCollection<Model.Shutout_Container> ShutoutContainers => _shutoutContainers;
    public Model.Shutout_Container SelectedContainer
    {
        get
        {
            return _selectedContainer;
        }
        set
        {
            _selectedContainer = value;
            RaisePropertyChanged("SelectedContainer");
        }


    }
    public void LoadShutout(ObservableCollection<Model.Shutout_Container> ShutoutContainers)
    {
        this._shutoutContainers = ShutoutContainers;
        this.RaisePropertyChanged(() => this.ShutoutContainers);
        Messenger.Default.Send<NotificationMessage>(new NotificationMessage("Shutout Loaded"));
    }
}

Я ожидаю, что при нажатии на вкладку данные должны быть загружены в элемент управления wpf и соответствующим образом скорректированы, так как элемент управления wpf знает, что его данные были изменены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...