Привязка сетки данных к тексту модели - PullRequest
0 голосов
/ 28 октября 2019

Можно ли привязать модель как свойство к сетевому текстовому тексту?

Пример

Модель

public class Model
{
   field1....
   field2....
}

Затем создайте элемент

   private Model _newModel;
   public Model NewModel
   {
        get { return _newModel; }
        set { _newModel = value; OnPropertyChanged(); }
   }


NewModel = (new Model({
  field1 = "field1",
  field2 = "field2"
});

Так что можно привязать NewModel к сеткеdatacontext

<Grid DataContext="{Binding NewModel}" >
    <Label Content="{Binding NewModel.field1}" />
    <Label Content="{Binding NewModel.field2}" />
</Grid>

1 Ответ

1 голос
/ 28 октября 2019

Binding Path относится к источнику привязки, который по умолчанию равен DataContext.

Дочерние элементы (здесь метки) наследуют DataContext от родителя (Grid). Таким образом, метки имеют NewModel для DataContext.

Поэтому привязка должна выглядеть следующим образом:

<Grid DataContext="{Binding NewModel}" >
    <Label Content="{Binding field1}" />
    <Label Content="{Binding field2}" />
</Grid>

А в свойствах модели должна выглядеть так

private string _prop;
public string Prop
{
    get { return _prop; }
    set { _prop = value; OnPropertyChanged(); }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...