2016-07-29 65 views
0

我有10 * 2(10行2列)網格控件。第二列包含每行的形狀控制。對於數據,我有一個包含類的對象的列表讓我們說一個整數成員。我想根據整數的值改變形狀的顏色(我可以使用「轉換器」)。我的問題是如何將橢圓Fill屬性綁定到來自列表的源屬性(int值)。請注意,我使用網格而不是列表框或列表視圖在veiw和簡單列表(不可觀察集合)。網格綁定

+0

你能不能創造一個ValueConverter從從int到填充轉換? – maillard

+0

是的。轉換部分不是問題。我想知道如何實現綁定。 – OwlR

+0

如果您想更改Shape的顏色,只需將其綁定到[Fill](https://msdn.microsoft.com/ru-ru/library/system.windows.shapes.shape.fill(v = vs.110).aspx )作爲@maillard說,並指定將int轉換爲刷的轉換器。 '' – Shakra

回答

0

更改您的ItemsControl的網格,必須是這樣的:

<ItemsControl ItemsSource="{Binding ItemsCollection}"> 
     <ItemsControl.ItemsPanel> 
      <ItemsPanelTemplate> 
       <UniformGrid Rows="10" Columns="2"/> 
      </ItemsPanelTemplate> 
     </ItemsControl.ItemsPanel> 
     <ItemsControl.ItemTemplate> 
      <DataTemplate> 
       <Shape Fill="{Binding YourIntValue, Converter=YourIntToBrushConverter}"> 
        YourData 
       </Shape> 
      </DataTemplate> 
     </ItemsControl.ItemTemplate> 
    </ItemsControl>