Свойство Dependency в app.xaml.cs

Это зависит, куда Вы помещаете эту инициализацию.

, Если массив статичен как в

char array[100] = {0};

int main(void)
{
...
}

тогда, это - компилятор, который резервирует 100 0 байтов в данных segement программы. В этом случае Вы, возможно, опустили инициализатор.

, Если Ваш массив является автоматическим, то это - другая история.

int foo(void)
{
char array[100] = {0};
...
}

В этом случае в каждом вызове функционального нечто у Вас будет скрытый memset.

код выше эквивалентен

int foo(void)
{ 
char array[100];

memset(array, 0, sizeof(array));
....
}

и если Вы опустите инициализатор, то Ваш массив будет содержать случайные данные (данные стека).

, Если Ваш локальный массив объявляется статичный как в [1 111]

int foo(void)
{ 
static char array[100] = {0};
...
}

тогда, это - технически тот же случай как первый.

7
задан Vijay 28 August 2009 в 20:34
поделиться

2 ответа

DependencyProperties можно создать только в DependencyObjects, и поскольку приложение (от которого наследуется ваш класс App) не реализует его, вы не можете создать DependencyProperty непосредственно в классе App.

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

  1. Реализовать INotifyPropertyChanged в App.xaml.cs
  2. Создать производный класс DependencyObject с вашими свойствами и предоставить его как стандартное свойство только для чтения вашего приложения. Затем свойства могут быть успешно привязаны к ним "точкой вниз". то есть, если ваше новое свойство называется «Свойства», вы можете выполнить привязку следующим образом:
   <TextBlock Text="{Binding Properties.Temp}" />

Если свойство должно быть целью привязки, то вариант №2 - ваш лучший выбор.

13
ответ дан 6 December 2019 в 15:24
поделиться

Ваш класс, содержащий свойства зависимостей, должен наследовать от DependencyObject.

1
ответ дан 6 December 2019 в 15:24
поделиться
Другие вопросы по тегам:

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