我发现字典问题中没有给定密钥。 我看到了这种行为:
我已经定义了一个用户conrtol,它在使用UserControl_loaded()回调加载后初始化。
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
if (TraceGroup != TRACE_GROUP.NONE)
{
Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString(MyDictionary[TraceGroup].Foreground));
Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString(MyDictionary[TraceGroup].Background));
TraceGroupName = Globals.filterGroups[TraceGroup].Name;
}
}
初始化将基于我存储在字典中的sone数据。我假设,xaml预览在生成UI预览时在后台运行UserControl_Loaded()。发生错误,因为回调中使用的Dictinary仅在应用启动时填充
为了在预览生成期间解决这个问题,我添加了检查是否定义了TraceGroup。 if (TraceGroup != TRACE_GROUP.NONE)...
但这并不能解决我的问题。
我正在使用Visual Studio Professional 2013和.Net 4.5.50938