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>

私の設計インスタンスはデータベースへの接続を作成するため、このコントロールを最初に設計するときはすべて正常に動作しますが、最初の設計時データがまだ開いている接続を持っているため、2 回目は例外がスローされます。

これはあまり意味がないことはわかっていますが、d:DesignInstance を介して作成されたオブジェクトは、IDisposable を実装していても破棄されないように見えるという問題が引き続き発生します。

これに対する解決策はありますか、それとも基本的に、設計データに IDisposable を必要としない軽量オブジェクトを提供することを余儀なくされましたか?

4

1 に答える 1

0

設計時に実際のデータベースにアクセスする代わりに、Microsoft Expression Blend を使用して設計モードでデータをシミュレートできます。このリンクを確認してください。

于 2012-04-24T09:08:36.827 に答える