0
我已經構建了一個簡單的WPF應用程序,它可以瀏覽一個框架中的頁面,但其中一個框架是一個圖片查看器,我希望它可以讓雙擊圖片它會全屏顯示(即在幀外)。從頁面/框架到窗口的WPF通信
在WPF中這樣做的最好方法是什麼?
我已經構建了一個簡單的WPF應用程序,它可以瀏覽一個框架中的頁面,但其中一個框架是一個圖片查看器,我希望它可以讓雙擊圖片它會全屏顯示(即在幀外)。從頁面/框架到窗口的WPF通信
在WPF中這樣做的最好方法是什麼?
您應該可以創建自己的自定義RoutedUICommand,也可以稱爲「EnterFullScreen」,您可以從頁面內引發,代表圖像查看器。您只需在主窗口中將CommandBinding掛鉤至此,以便每當該命令被觸發時,您都會作出反應。很明顯,您需要相反的選項「ExitFullScreen」,以便每個頁面都可以提供自己的用戶界面來退出全屏模式。
下面的代碼可能是什麼樣子的definining和掛鉤的命令:
public partial class MyWindow : Window
{
public static readonly RoutedUICommand EnterFullScreenCommand =
new RoutedUICommand("Enter fullscreen mode",
"EnterFullScreen",
typeof(MyWindow));
public static readonly RoutedUICommand ExitFullScreenCommand =
new RoutedUICommand("Exit fullscreen mode",
"ExitFullScreen",
typeof(MyWindow));
public MyWindow()
{
this.InitializeComponent();
this.CommandBindings.Add(
new CommandBinding(MyWindow.EnterFullScreenCommand,
(sender, args) =>
{
// logic to go fullscreen here
},
(sender, args) =>
{
args.CanExecuted =
// am I already fullscreen?
}));
this.CommandBindings.Add(
new CommandBinding(MyWindow.ExitFullScreenCommand,
(sender, args) =>
{
// logic to exit fullscreen here
},
(sender, args) =>
{
args.CanExecuted =
// am I fullscreen right now?
}));
}
然後在你的頁面,你會簡單地使用這個命令,象這樣:
<Button Command="{x:Static myNS:MyWindow.EnterFullScreenCommand}" />
嗨德魯, 我剛剛開始,所以我很抱歉,但我需要在代碼中做一些其他的事情,所以有沒有辦法從C#調用? –
通過「call that」你是否提高命令?如果是這樣,是的,你只需要在命令實例上調用Execute。 –