Как переопределить метаданные DataContextProperty в нестатическом конструкторе

Хороший способ сделать это в одной строке с помощью pandas.concat():

import pandas as pd

pd.concat([df], keys=['Foo'], names=['Firstlevel'])

Это может быть обобщено на многие кадры данных, см. docs .

1
задан Rekshino 17 January 2019 в 10:34
поделиться

1 ответ

OverrideMetadata не должно быть обязательным в статическом конструкторе (но он должен быть там). Вы можете поместить это, например. в Button.Click обработчик событий.

PropertyChangedCallback не может быть статической функцией

Это неправильно. PropertyChangedCallback может быть статической функцией.

Проблема в том, что если кто-то уже зарегистрировал / переопределил метаданные для свойства, вы получите исключение.

См. В MSDN:

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

Для отслеживания изменений в DataContext просто используйте соответствующее событие ContentControl.DataContextChanged.

<ContentControl DataContextChanged="OnDataContextChanged">

Чтобы избежать кода, используйте обработку поведения DataContextChanged.

0
ответ дан Rekshino 17 January 2019 в 10:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: