数据绑定不同类型

时间:2010-01-17 21:06:29

标签: .net winforms data-binding

努力完成:

当枚举属性的值在绑定对象上发生更改时,我想更改绑定树节点的image属性。

Bound Object是游戏中机场或车辆基地的代表。该对象具有Type属性,它是枚举值类型:SmallAirfield,MediumAirField,LargeAirField,Port,AirCraftCarrier

正在检查的对象在属性网格中显示和编辑......

树中的扩展/节点公开了图像属性

当用户更改基类型的枚举值时,这是...我想更新树节点的图像......

因此,我试图绑定不同的值类型......

换句话说,如果用户将空军基地类型更改为航空母舰,我想将小图像更改为航空母舰图像......

我不想在airbase对象的对象表示中包含/公开image属性...

如何将Image类型的image属性绑定到机场对象的枚举机场Type属性?

我希望这有道理吗?

卡森

1 个答案:

答案 0 :(得分:0)

foreach(田野里的田野) {

if (f.CurrentOwner == country)
{

    addNode = node.Add(node.Key + f.ID, f.ID);
    addNode.Tag = f;
    addNode.DataBindings.Add("Text", f, "ID");
    /// HERE IS WHERE I WOULD BIND THE IMAGE OF THE NODE TO THE 
    /// TO TYPE OF FIELD....
    switch (f.Type)
    {
        case BaseType.Airfield:
            fieldNode.Image = ((Icon)Scenario.Properties.Resources.Pony).ToBitmap();
            break;
        case BaseType.Carrier:
            fieldNode.Image = ((Icon)Scenario.Properties.Resources.CV).ToBitmap();
            break;
        case BaseType.Port:
            fieldNode.Image = ((Icon)Scenario.Properties.Resources.Tiger).ToBitmap();
            break;
        case BaseType.VBase:
            fieldNode.Image = ((Icon)Scenario.Properties.Resources.Tiger).ToBitmap();
            break;
    }
}

}

相关问题