2010-10-03 4 views
3

В настоящее время я пытаюсь использовать поставщик данных объекта, чтобы вернуть цвет, который я хотел бы использовать в качестве фона для каждого элемента списка, с цветом, зависящим от индекса элементов списка.Передача listbox item index как параметр to objectdataprovider

Как правило, параметры, переданные объекту, являются исходным цветом и индексом listboxitem, и он возвращает цвет, который легче в зависимости от того, какой именно индекс ... вот код, который у меня есть в настоящее время для поставщика данных объекта :

<ObjectDataProvider ObjectType="{x:Type local:cUserProfiles}" 
       MethodName="GetRankColour" x:Key="RankColour"> 
     <ObjectDataProvider.MethodParameters> 
      <Color> {ORIGINAL_COLOUR}<Color/> 
      <system:Int16>{LISTBOXITEM INDEX}</system:Int16> 
     </ObjectDataProvider.MethodParameters> 
    </ObjectDataProvider> 

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

Кроме того, после долгих поисков ответа на это, я только нашел примеры, когда люди только изменить параметры, основанные на таких вещах, как то, что кто-то входит в текстовое поле с помощью этого метода: -

{Binding Source={StaticResource RankColour}, 
       Path=MethodParameters[1], 
       BindsDirectlyToSource=True, 
       UpdateSourceTrigger=PropertyChanged} 

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

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

Спасибо за вашу помощь заранее! =)

ответ

0

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

Мне действительно может понадобиться немного больше подробностей о том, какова ваша конечная цель (хотя это может быть так, что мой кофе не ударил достаточно, чтобы я мог постичь английский язык еще, lol). Вы используете базу данных? Как получить рейтинг для каждого пользователя?

 Смежные вопросы

  • Нет связанных вопросов^_^