0
我有10 * 2(10行2列)网格控件。第二列包含每行的形状控制。对于数据,我有一个包含类的对象的列表让我们说一个整数成员。我想根据整数的值改变形状的颜色(我可以使用“转换器”)。我的问题是如何将椭圆Fill属性绑定到来自列表的源属性(int值)。请注意,我使用网格而不是列表框或列表视图在veiw和简单列表(不可观察集合)。网格绑定
我有10 * 2(10行2列)网格控件。第二列包含每行的形状控制。对于数据,我有一个包含类的对象的列表让我们说一个整数成员。我想根据整数的值改变形状的颜色(我可以使用“转换器”)。我的问题是如何将椭圆Fill属性绑定到来自列表的源属性(int值)。请注意,我使用网格而不是列表框或列表视图在veiw和简单列表(不可观察集合)。网格绑定
更改您的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>
你能不能创造一个ValueConverter从从int到填充转换? – maillard
是的。转换部分不是问题。我想知道如何实现绑定。 – OwlR
如果您想更改Shape的颜色,只需将其绑定到[Fill](https://msdn.microsoft.com/ru-ru/library/system.windows.shapes.shape.fill(v = vs.110).aspx )作为@maillard说,并指定将int转换为刷的转换器。 ' ' –
Shakra