我有一個使用mvvm light工具包的DXgrid,它顯示web服務中的對象列表。dxgrid將單元格的顏色綁定到字符串值
該對象的其中一個屬性是Color域。我希望能夠着色一個顏色的單元格。
我已經畫了細胞內的矩形試過,但沒有
<dxg:GridControl Grid.Row="1" AutoPopulateColumns="True" Height="412" Name="grdLicence" VerticalAlignment="Bottom"
ItemsSource="{Binding Model.Cars}"
DesignTimeDataObjectType="{Binding Model.Cars}" Grid.RowSpan="2">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="{Binding Path=Id}" DisplayMemberBinding="{Binding Path=Id}" Header="ID"/>
<dxg:GridColumn FieldName="{Binding Path=LicenseDate, StringFormat=\{0:dd/MM/yyyy\}}" DisplayMemberBinding="{Binding Path=LicenseDate, StringFormat=\{0:dd/MM/yyyy\}}" Header="Type" >
<dxg:GridColumn.DisplayTemplate>
<ControlTemplate>
<Rectangle Height="20" Width="30">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=Colour}"></SolidColorBrush>
</Rectangle.Fill>
</Rectangle>
</ControlTemplate>
</dxg:GridColumn.DisplayTemplate>
</dxg:GridColumn>
<dxg:GridColumn FieldName="{Binding Path=Province}" DisplayMemberBinding="{Binding Path=Province}" Header="Province" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView Name="tableView1" AutoWidth="True" ShowSearchPanelMode="Always" SelectedRowsSource="{Binding Selection}" MultiSelectMode="Row" NavigationStyle="Row" FocusedRow="{Binding SelectedItem, Mode=TwoWay}" />
</dxg:GridControl.View>
</dxg:GridControl>
,如果我硬編碼工作的顏色,但不是通過結合運氣。物業名稱正確 謝謝!
確定進一步得到,我現在用的是cellpropperty代替,並使用轉換器,但由於某種奇怪的原因轉換犯規火災。我在它有一個斷點,但它從來沒有擊中
<UserControl.Resources>
<views:ColourConverter x:Key="clrc"/>
<Style x:Key="CellStyle" TargetType="{x:Type dxg:CellContentPresenter}">
<Setter Property="Background" Value="{Binding Path=DataContext.Colour, Converter={StaticResource clrc}}" />
</Style>
</UserControl.Resources>
// note顏色是字段名稱。
你可以用DataTemplate代替ControlTemplate嗎? – 2013-02-22 13:15:58
我可以,假設我知道如何。我是devExpress的新手。順便說一句,我有顏色名稱作爲字符串,如果這有助於 – Crudler 2013-02-22 13:28:04