2010-10-03 67 views
3

我正在嘗試使用對象數據提供程序來返回我想用作每個列表框項目的背景的顏色,並且顏色依賴於該列表框項目索引。將列表框項目索引作爲參數傳遞給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} 

我希望它綁定到列表框索引,所以不知道要將它放入哪個屬性。

第二個問題: 列表框項目確實有一個標籤,其內容被綁定到列表框項目索引,但是,如何使用上述綁定源技術來綁定內容,當我總是想將其綁定到指數?

感謝您的幫助提前! =)

回答

0

這看起來有點愚蠢,但你有沒有想過使用後面的代碼間接地鏈接這個?也就是說,使用一系列變量並選擇案例來設置您想要的屬性。我知道數據綁定可能會成爲一個真正的頭痛 - 如果有另一種方法可以實現同樣的最終結果,我通常會避免這種情況。

我真的可能需要更多的細節來說明你的最終目標是什麼(雖然可能是因爲我的咖啡沒有踢足夠讓我理解英語,大聲笑)。你在使用數據庫嗎?你如何得到每個用戶的排名?

相關問題