Словарь привязки <,>. Keys.Count to Label - PullRequest
1 голос
/ 09 октября 2009

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

Я попробовал это с классом Binding:

Binding bindingNodeCount = new Binding("Text", _graphDisplay.data.nodes.Keys, "Count");
labelNumberOfNodes.DataBindings.Add(bindingNodeCount);

К сожалению, невозможно привязать свойство «Count» (по крайней мере, оно вызывает исключение аргумента, говоря, что он не может привязать Count свойства к источнику данных).

Есть ли другой способ автоматического обновления отображения количества элементов моего словаря?

Спасибо заранее, Frank

1 Ответ

3 голосов
/ 09 октября 2009

Это не сработает, на нескольких уровнях:

  • вы не можете привязать свойства контейнера (например, Keys) - предполагается, что вы хотите первый элемент из контейнера (т. Е. .Keys[0].Count)
  • словарь не предоставляет уведомлений о событиях

Чтобы делать то, что вы хотите, вам, вероятно, потребуется собственная реализация словаря (или подкласса) с событиями уведомления, и вручную распространяют этот объект более высокого уровня (data или graphDisplay). ) в качестве свойства фасада и пересылают событие.

Будет проще просто обновить его вручную, я подозреваю.

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