大家好,我是WPF新手,我已经使用列表视图呈现为网格视图。我有一个图像列,我通过绑定路径来设置一个值。现在的问题是我需要根据条件改变图像的路径。如果条件为真,我需要图像的路径不同。如果为false,我将其更改为另一个路径。这可以一行一行地完成吗?以下是我的列表视图。请帮助动态更改ListView中图像的路径
<ListView Name="LstGrd" Margin="0,105,0,138">
<ListView.View>
<GridView >
<GridViewColumn Header=" Name" Width="120" DisplayMemberBinding="{Binding Path=Name}" />
<GridViewColumn Header=" Address" Width="250" DisplayMemberBinding="{Binding Path=Address}" />
<GridViewColumn Header=" City" Width="50" DisplayMemberBinding="{Binding Path=City}" />
<GridViewColumn Header=" State" Width="75" DisplayMemberBinding="{Binding Path=State}" />
<GridViewColumn Header=" PostalCode" Width="75" DisplayMemberBinding="{Binding Path=PostalCode}" />
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Width="16" Name="Test" Height="16" Source="{Binding Path=ImagePath,Mode=TwoWay}"/>
<TextBlock Text="Status"/>
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
只有在绑定到grid.ie后,条件才会更改。我仅在将图像默认绑定到网格后才检查条件。在此方案中将执行此工作(根据条件逐行更改图像)。如果我听起来很愚蠢这是新的。 – Karthik 2013-03-08 14:12:35
每个GridViewColumn定义所做的是控制如何显示特定行中的特定单元格。你正在显示这个名字,这个地址等等。在DataTemplate的情况下,你正在控制如何在这个单元格中显示这段数据(即你正在显示为你的“Contact”类的这个实例定义的ImagePath) 。 DataTrigger正在做的是检查此实例的另一个属性,并使用ImagePath2替换此图像。所以,是的,它会根据这个条件逐行改变它。 – 2013-03-08 14:17:12
对不起,麻烦你我有另一个问题是什么时候Datatrigger叫。它只是在数据绑定期间..或者用这种方式我需要更改按钮上的图像单击数据trriger如何在该场景中实现。感谢您的帮助 – Karthik 2013-03-08 14:29:38