繁体   English   中英

Datagrid将2个数据文件与图像绑定在一个列下?

[英]Datagrid binding 2 datafiled under one column along with an image?

在这里,我正在执行嵌套网格操作,这是在我的第一个datagrid中。 有名字,年龄,地址

用户单击该行后,我们将显示另一个带有数据主题名称和分数的网格

直到这里功能正常为止。

1:现在的问题是我应该在同一列中显示一张图片以及分数(我该如何实现这一点)

2:根据分数我需要显示一个图像(根据分数绑定不同的图像)

1 :that is if score is 20 show ( ~images/image1.jpg)

2 :that is if score is 40 show ( ~images/image2.jpg)

3:即得分为20的节目(〜images / image3.jpg)

output [ in a grid  format]
 subject score  
 science  45 image3
 maths    50 image2
 Computer 60 image1
 general  78 image1

我们如何解决这个问题。 任何想法如何前进。 请告诉我。 希望我的问题清楚

提前致谢

王子

由于您已使用Silverlight v4.0标记了此问题,因此我假设您正在尝试使用上述技术来实现此目的。 实现此目的的一种方法是添加一个转换器作为静态资源,然后使用该转换器提取数据。 出于所有密集的目的,我假设图像文件以imageX.jpg格式命名,其中X等于分数,但是您可以使用任何喜欢的格式。 请在下面查看未经测试的XAML和C#代码示例:

<USERCONTROL.RESOURCES>
    <UserControl.Resources> 
        <SvcTest:DSTest x:Key="DSTest" d:IsDataSource="True"/> 
<local:IDToImageConverter x:Key="IDToImageConverter"/> 
</UserControl.Resources>
<UserControl.Resources> 
<StackPanel x:Name="OurStack" Orientation="Vertical"> 
    <TextBox x:Name="InputText"/> 
    <TextBlock x:Name="OutputText"/> 
    <Button x:Name="CallServiceButton" Content="Call WCF" Click="CallServiceButton_Click"/> 
    <data:DataGrid x:Name="theDataGrid" AlternatingRowBackground="Beige" Grid.Row="2" Grid.Column="1" Height=" 600" Width="800" CanUserResizeColumns="True" AutoGenerateColumns="False"> 
        <data:DataGrid.Columns> 
            <data:DataGridTextColumn Header="InventTypeID" Width="100"  Binding="{Binding InventTypeID}" /> 
<data:DataGridTemplateColumn Header="ImageColumn" DisplayIndex="1" > 
<data:DataGridTemplateColumn.CellTemplate> 
<DataTemplate> 

<Image Source="{Binding ItemID, Converter={StaticResource IDToImageConverter}}" Height="50" /> 
</DataTemplate> 
</data:DataGridTemplateColumn.CellTemplate> 
</data:DataGridTemplateColumn> 
</data:DataGrid.Columns> 
</data:DataGrid> 
</StackPanel>
<?xml:namespace prefix = local /><local:IDToImageConverter x:Key="IDToImageConverter"></local:IDToImageConverter>
</USERCONTROL.RESOURCES>

    public class IDToImageConverter : IValueConverter 
    { 
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
    { 
    Uri uri = new Uri("~/Images/" + value.ToString()+ ".jpg", UriKind.Relative); 
    return new BitmapImage(uri); 
    }

<GRID Background="White" x:Name="LayoutRoot">
<STACKPANEL x:Name="OurStack" Orientation="Vertical">
<TEXTBOX x:Name="InputText" />
<TEXTBLOCK x:Name="OutputText" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM