我有一個WPF打開從Microsoft Outlook的功能區中的按鈕,爲我正在開發的插件。重新打開微軟Outlook插件C關閉的WPF#
private void _HandlerUserSettings(Office.CommandBarButton ctrl, ref bool cancel)
{
var windowUserSettings = new WpfUserSettings();
windowUserSettings.Show();
}
,如果我從它的關閉按鈕關閉WPF,如果我再次點擊按鈕來處理窗口的表演,這是行不通的。 我想關閉動作不僅僅是一個簡單的隱藏,所以我的目標是重寫關閉動作。我試圖在截止方法工作*我的XAML窗口WpfUserSettings_Window_Closing *:
<Window x:Class="TrainingForgeOutlookAddin.View.WpfUserSettings"
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="350" d:DesignWidth="700" Title="User Settings"
WindowStartupLocation="CenterScreen" Loaded="WpfUserSettings_OnLoaded"
Closing="WpfUserSettings_Window_Closing">
....
</Window>
你有任何建議或HOWTO閱讀,我沒發現? 謝謝
嗨@ serguei-fedorov,它不是很清楚我應該在哪裏放置'公共ChildWindow(SomeData數據,IParentWindow父母)'。您正在討論* window *構造函數,並且在我的_WPF場景_中,這是我的構造函數'public WpfUserSettings() { InitializeComponent(); }'但我不知道如何用你的建議來管理它。 – axel
您必須修改子窗口構造函數才能使用這些變量。這將是公共的WpfUserSettings(有些數據,IParentWindow)記住SomeData對象應該由你定義。我想我必須問的問題是,當窗口關閉並重新打開時,是否要保存數據?如果不是,則丟棄數據對象。就我所知,您將需要進行接口,以便告訴父窗口該子項已關閉(並設置了一個布爾值,以便它不會再次打開)。這是IParentWindow,在我的例子中,它被作爲「this」傳遞給構造函數。 –
如果您希望我專門針對您的情況減少答案,我可以爲您發佈第二個答案。 –