かなり大きな Silverlight アプリケーションがあり、それにいくつかの機能を追加する必要があります。アプリは、Frame-Element と、ナビゲーション用の HyperlinkButtons を備えた TreeView で構成されます。メイン フレームにロードされるすべてのコンテンツはページです。
ここで、すべてのページのアンロード イベントにフックする必要があります。現在、次のようなものを使用しています。
/* PageX.xaml */
<navigation:Page
x:Class="Foo.Views.PageX"
<!-- namespacing -->
Title="Test Page X"
Unloaded="Page_Unloaded">
...
</navigation:Page>
分離コード:
/* PageX.xaml.cs */
/* usings */
namespace Foo.Views
{
public partial class PageX : Page
{
public PageX() {
InitializeComponent();
}
private void Page_Unloaded(object sender, RoutedEventArgs e) {
/* CODE */
}
}
}
アンロードされたメソッド内のコードはまったく同じままであるため、このアプローチはすべてのページに実装する必要があります... 前述したように、いくつかのページがあり、カスタムページを作成する方がはるかに便利です-これが直接実装されるクラスであるPage_Unloaded()
ため、すべてのページを変更する必要はありません。
このようなカスタム Page クラスを作成する方法を教えてください。
助けてくれてありがとう!!
敬具!