LinQToSql和Hashtable使用相同的DataContext

时间:2015-09-29 11:06:59

标签: c# wpf gridview data-binding datatemplate

我使用的是LinQToSql和Hashtable(System.Collections),它们都使用相同的GridView,datacontext将根据Checkbox进行更改。只有其中一个是活跃的。

问题是,哈希表(只是键值)的结构与LinqToSql类的结构不同。

这适用于LinQToSql类(DataContext):

 <DataGrid x:Name="wordListView" Margin="17,156,0,0"
VirtualizingStackPanel.IsVirtualizing="True"
ScrollViewer.CanContentScroll="True" AutoGenerateColumns="False"
ItemsSource="{Binding}">
        <DataGrid.Columns>
            <DataGridTextColumn Header="ID" Binding="{Binding ID}">
            </DataGridTextColumn>
            <DataGridTemplateColumn Header="Image"  IsReadOnly="True">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Image  Height="200"  Source="{Binding Path}" />
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
            <DataGridTextColumn Header="Name" Binding="{Binding Path,Converter={StaticResource stringReplacer}}">   
            </DataGridTextColumn>
            <DataGridTextColumn Header="Path" Binding="{Binding Path}">
            </DataGridTextColumn>
        </DataGrid.Columns>
    </DataGrid>

我想使用1个GridView,但使用不同的数据。

我想到了这个(不能让它起作用):

<DataTemplate x:Key="fromDB">
            //using the DataGrid.Columns for LINQToSQL
        </DataTemplate>
        <DataTemplate x:Key="fromFile">
           //just use binding, or a different DataGrid.Columns
        </DataTemplate>

0 个答案:

没有答案