我在Silverlight 5项目中有一个IValueConverter实例,它将自定义数据转换为不同的颜色.我需要从数据库中读取实际的颜色值(因为这些可以由用户编辑).
由于Silverlight使用异步调用通过Entity Framework从数据库加载数据,因此我创建了一个简单的存储库,它保存数据库中的值.
界面:
public interface IConfigurationsRepository
{
    string this[string key] { get; }
}
实施:
public class ConfigurationRepository : IConfigurationsRepository
{
    private readonly TdTerminalService _service = new TdTerminalService();
    public ConfigurationRepository()
    {
        ConfigurationParameters = new Dictionary<string, string>();
        _service.LoadConfigurations().Completed += (s, e) =>
            {
                var loadOperation = (LoadOperation<Configuration>) s;
                foreach (Configuration configuration in loadOperation.Entities)
                {
                    ConfigurationParameters[configuration.ParameterKey] = configuration.ParameterValue;
                }
            };
    }
    private IDictionary<string, string> ConfigurationParameters { get; set; }
    public string this[string key]
    {
        get
        {
            return ConfigurationParameters[key];
        }
    } …c# ioc-container unity-container ivalueconverter silverlight-5.0