Member 14654140 Ответов: 0

Как я могу привязать значения локальной переменной с DataGrid в проект WPF с использованием MVVM


Внутри метода я получаю значения в одной локальной переменной(когда я нажимаю кнопку, метод запускается и получает значения в локальной переменной).как я могу привязать значения локальной переменной в элементе управления DataGrid

Что я уже пробовал:

модель представления :

код есть :
local variable(UserDetails)

  private void Show()
        {
            //Users.AddRange(_context.Users);

           var UserDetails = (from a in _context.DocumentDatas
                               join b in _context.MetaDatas on a.DocId equals b.MId



                               select new
                               {
                                   a.Id,
                                   a.DocomentName,
                                   a.DocumentPath,
                                   b.Properties,
                                   b.Values



                               }).ToList();


Создан один объект недвижимости

private ObservableCollection<userdetails> _UserDetails;

        public ObservableCollection<userdetails> UserDetails
        {
            get { return _UserDetails; }
            set
            {
                _UserDetails = value;
                OnpropertyChanged("UserDetails");

            }
        }


код XAML

и привязка данных :

<datagrid grid.row="5" grid.column="3" grid.columnspan="3" margin="20" horizontalalignment="Center" verticalalignment="Center" width="350" 

="" itemssource="{Binding UserDetails}" autogeneratecolumns="False">
            <datagrid.columns>
                <datagridtextcolumn header="Id" binding="{Binding Id,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
                <datagridtextcolumn header="DocomentName" binding="{Binding DocomentName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
                <datagridtextcolumn header="DocumentPath" binding="{Binding DocumentPath,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
                <datagridtextcolumn header="Properties" binding="{Binding Properties,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
                <datagridtextcolumn header="Values" binding="{Binding Values,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">

Richard Deeming

Вы не привязываетесь к локальной переменной, вы привязываетесь к свойству.

Ваша потребность заселить ваш UserDetails свойство из вашей локальной переменной. Для этого вам нужно будет сопоставить анонимный тип из вашей локальной переменной с вашей локальной переменной. userdetails класс.

0 Ответов