2017-10-17 117 views
-1

所以我有一個綁定到ProductLines的列表視圖。基本上它是一個產品列表,當你加載時,它會自動加載來自sqlite數據庫的任何緩存項目。你可以添加到它,然後當你保存它將存儲到另一臺服務器上的數據庫。下面我一直在試驗函數和顏色等。但我真正想做的是在初始加載時顯示產品列表中紅色或白色的背景顏色。這是基於它是否未能保存到其他服務器數據庫。 另外,當我去保存列表中的所有內容時,它基本上遍歷數據源並嘗試調用存儲過程。如果失敗,它會將該行的位設置爲true,就像它失敗一樣。當它重新加載列表時,它將根據位顯示紅色/白色......或者,如果有另一種方法根據它在該項目中綁定的值的更新背景顏色單元格,那將會很棒。基於值更改listview背景顏色xamarin xaml

 <ListView x:Name="ProductLines" Grid.Row="6" Grid.ColumnSpan="2"> 
     <ListView.ItemTemplate> 
      <DataTemplate> 
       <ViewCell Tapped="Cell_OnAppearing"> 
        <StackLayout BackgroundColor="AliceBlue" 
        Orientation="Vertical"> 
        <StackLayout Orientation="Horizontal"> 
          <Label Text="{Binding ProductLineDisplayName}" 
          TextColor="#f35e20" /> 
        </StackLayout> 
       </StackLayout> 
       </ViewCell> 
       <!--<TextCell Text="{Binding ProductLineDisplayName}" TextColor="DarkGray"/>--> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
    </ListView> 

回答

0

我不明白這個問題。 TextColor是一個Bindable屬性。您可以將它綁定到Color類型的屬性,或者綁定到其他類型屬性,並使用IValueConverter將類型X的屬性轉換爲Color

也是該記住:

應用開發者可以在XAML無論是作爲一個十六進制數或作爲一個有效的顏色名稱來指定顏色。

當用十六進制數字指定顏色時,應用程序開發人員可以使用3,4或6位數字。如果開發人員指定3位數字,則會將其解釋爲完全不透明顏色的RGB雙精度數據。例如,「#123」指定由「#FF112233」表示的顏色。如果開發人員提供一個4位數的十六進制數字,則數據解釋如上,但第一個數字指定了Alpha通道。例如,「#1234」指定由「#11223344」表示的顏色。最後,如果開發人員提供了一個6位數的十六進制數字,那麼這些數據被解釋爲具有這些RGB值的完全不透明的顏色。例如,「#112233」指定由「#FF112233」表示的顏色。

當用字符串指定顏色時,應用程序開發人員可以單獨使用顏色名稱,也可以用「顏色」作爲前綴。例如,Purple和Color.Purple都是指定紫色的有效方法。下表介紹了可用於在XAML中指定顏色的有效顏色名稱。