我的第一个问题是我的图像没有显示,代码如下;
<GridViewColumn Width="100" Header="Image">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Image Width="16" Height="16" Source="Images\green_tick.jpg"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
第二个是我不确定如何开始根据绑定{Binding ExtractionCompleted}
感谢。
答案 0 :(得分:2)
您可以通过DataTrigger
。
<GridViewColumn Width="100" Header="Image">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Image Width="16" Height="16" Source="Images\green_tick.jpg">
<Image.Style>
<Style TargetType="{x:Type Image}">
<Setter Property="Visibility" Value="Visible" />
<Style.Triggers>
<DataTrigger Binding="{Binding ExtractionCompleted}" Value="True">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
对于您的图片,请确保BuildAction
设置为Resource
。您可以通过检查它的属性来执行此操作。
答案 1 :(得分:-1)
试试这个。
XAML:
<DataTemplate x:Key="MyImageTemplate">
<Image Source="{Binding Path=Value}" Height="20"></Image>
</DataTemplate>
定义未绑定的列:
XAML:
<dxg:GridColumn FieldName="MyTempField" CellTemplate="{StaticResource MyImageTemplate}" UnboundType="Object" />
然后是GridControl.CustomUnboundColumnData事件的处理部分来设置一个值:
private void grid_CustomUnboundColumnData(object sender, GridColumnDataEventArgs e)
{
if (e.IsGetData)
{
if (((NewTestData)((GridControl)sender).GetRowByListIndex(e.ListSourceRowIndex)).Number1 > 10)
e.Value = "demo.gif";
else
e.Value = null;
}
}