我只是在寻找我在网上找到的一些WPF样本,并且遇到了一个奇怪的行为,我在下面简化了它:
<StackPanel Name="sp1">
<StackPanel.Resources>
<!--<src:ItemsForSale x:Key="MyData"/>-->
</StackPanel.Resources>
<ListView Name="itemsControl" ItemsSource="{StaticResource MyData}">
<ListView.View>
</ListView.View>
</ListView>
</StackPanel>
如果我取消评论第3行(资源定义),一切都很好。 但是,如果我对该行进行注释,并以编程方式添加以下内容:
public MainWindow()
{
InitializeComponent();
sp1.Resources.Add("MyData", new ItemsForSale());
}
我得到了运行时异常A first chance exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll
我尝试在stackpanel的Loaded
和Initialized
事件中添加资源无效。
答案 0 :(得分:3)
总结注释问题是由初始化期间需要MyData
资源的控件引起的,并引发了此异常:
找不到名为“MyData”的资源。资源名称区分大小写
要解决问题,而不是StaticResource
使用DynamicResource