2

有没有办法处理由以下标记创建的对象...

<UserControl x:Class="NodeBrowser"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         mc:Ignorable="d" 
         d:DesignHeight="344" d:DesignWidth="589"
         d:DataContext="{d:DesignInstance Type=local:NodeBrowserViewModel, IsDesignTimeCreatable=True}"
         >
    <Whatever...>
</UserControl>

我的设计实例创建了一个到数据库的连接,所以我第一次设计时测试这个控件一切正常,但第二次它抛出异常,因为第一个设计时数据仍然有一个打开的连接。

现在我知道这并没有什么意义,但它仍然提出了一个问题,即通过 d:DesignInstance 创建的对象似乎永远不会被释放,即使它们实现了 IDisposable。

是否有任何解决方案,或者我们基本上被迫提供不需要 IDisposable 设计数据的轻量级对象?

4

1 回答 1

0

您可以使用 Microsoft Expression Blend 在设计模式下模拟数据,而不是在设计时访问真实数据库,请查看此链接

于 2012-04-24T09:08:36.827 回答