C# 从对象设置DataGrid中的单元格行值';属性,但使用该属性获取其他值?
我需要获取给定C# 从对象设置DataGrid中的单元格行值';属性,但使用该属性获取其他值?,c#,wpf,xaml,datagrid,C#,Wpf,Xaml,Datagrid,我需要获取给定教室的机构名称,并将该名称放入数据网格。这是我到目前为止所拥有的 这是一些全局可用的静态哈希映射,它将存储Institution对象,键是该机构的Id public static Dictionary<int, Transformable> classrooms = null; public static Dictionary<int, Transformable> institutions = null; 我找到了解决办法 我将其添加到我的窗口xam
教室的机构名称
,并将该名称放入数据网格
。这是我到目前为止所拥有的
这是一些全局可用的静态哈希映射,它将存储Institution
对象,键是该机构的Id
public static Dictionary<int, Transformable> classrooms = null;
public static Dictionary<int, Transformable> institutions = null;
我找到了解决办法
我将其添加到我的窗口xaml文件中
<Window.Resources>
<local:TestConverter x:Key="testConverter"></local:TestConverter>
</Window.Resources>
在同一个xaml文件中,我将此文件添加到相应的DataGrid元素中:
<DataGrid.Columns >
<DataGridTextColumn Header="Classroom number" Binding="{Binding ClassroomNumber}" Width="*"/>
<DataGridCheckBoxColumn Header="Active" Binding="{Binding Active}" Width="*"/>
<DataGridTextColumn Header="Size" Binding="{Binding Size}" Width="*"/>
<DataGridCheckBoxColumn Header="Computers" Binding="{Binding Computers}" Width="*"/>
<DataGridTextColumn Header="Institution" Binding="{Binding Path = Institution, Converter={StaticResource testConverter} }" Width="*"/>
</DataGrid.Columns>
希望这能帮助别人
<Window.Resources>
<local:TestConverter x:Key="testConverter"></local:TestConverter>
</Window.Resources>
public class TestConverter : IValueConverter
{
object IValueConverter.Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
Institution inst = (Institution)DataMapper.institutions[(int)value];
return inst.Name;
}
object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
<DataGrid.Columns >
<DataGridTextColumn Header="Classroom number" Binding="{Binding ClassroomNumber}" Width="*"/>
<DataGridCheckBoxColumn Header="Active" Binding="{Binding Active}" Width="*"/>
<DataGridTextColumn Header="Size" Binding="{Binding Size}" Width="*"/>
<DataGridCheckBoxColumn Header="Computers" Binding="{Binding Computers}" Width="*"/>
<DataGridTextColumn Header="Institution" Binding="{Binding Path = Institution, Converter={StaticResource testConverter} }" Width="*"/>
</DataGrid.Columns>