积极答复者
如何实现

问题
答案
-
Metro HTML WinJS中有 SettingsFlyout 这个组件可以来实现你的效果,http://code.msdn.microsoft.com/windowsapps/App-settings-sample-1f762f49 Javasvript版本中你可以看到。 但是在XAML版本中,你需要自己去show一个区域,让其显示。然后在里面添加一个Back按钮,调用其 SettingsPane.Show 方法。
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Jie BaoModerator 2012年5月25日 2:36
-
void App_CommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args)
{
var about = new SettingsCommand("about", "关于", (handler) =>
{//声明你自己的控件
var settings = new SettingsFlyout();
//调用自己控件的弹出方法
settings.ShowFlyout(new About());
});
args.Request.ApplicationCommands.Add(about);
}//弹出方法就是一个Popup 的Open
==========================================================================
public void ShowFlyout(UserControl control)
{
popup = new Popup();
popup.Closed += popup_Closed;
Window.Current.Activated += Current_Activated;
popup.IsLightDismissEnabled = true;
popup.Width = width;
popup.Height = Window.Current.Bounds.Height;
control.Width = width;
control.Height = Window.Current.Bounds.Height;
popup.Child = control;
popup.SetValue(Canvas.LeftProperty, Window.Current.Bounds.Width - width);
popup.SetValue(Canvas.ZIndexProperty, 0);
popup.IsOpen = true;
}你不需要考虑后退的事情 这个系统已经帮你处理好了
- 已建议为答案 Jie BaoModerator 2012年5月23日 10:58
- 已标记为答案 Jie BaoModerator 2012年5月25日 2:36
-
- 已标记为答案 Jie BaoModerator 2012年7月10日 2:35
全部回复
-
这里有个例子: http://code.msdn.microsoft.com/windowsapps/App-settings-sample-1f762f49 符合你的要求的
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已建议为答案 Jie BaoModerator 2012年5月17日 3:17
-
Metro HTML WinJS中有 SettingsFlyout 这个组件可以来实现你的效果,http://code.msdn.microsoft.com/windowsapps/App-settings-sample-1f762f49 Javasvript版本中你可以看到。 但是在XAML版本中,你需要自己去show一个区域,让其显示。然后在里面添加一个Back按钮,调用其 SettingsPane.Show 方法。
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Jie BaoModerator 2012年5月25日 2:36
-
void App_CommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args)
{
var about = new SettingsCommand("about", "关于", (handler) =>
{//声明你自己的控件
var settings = new SettingsFlyout();
//调用自己控件的弹出方法
settings.ShowFlyout(new About());
});
args.Request.ApplicationCommands.Add(about);
}//弹出方法就是一个Popup 的Open
==========================================================================
public void ShowFlyout(UserControl control)
{
popup = new Popup();
popup.Closed += popup_Closed;
Window.Current.Activated += Current_Activated;
popup.IsLightDismissEnabled = true;
popup.Width = width;
popup.Height = Window.Current.Bounds.Height;
control.Width = width;
control.Height = Window.Current.Bounds.Height;
popup.Child = control;
popup.SetValue(Canvas.LeftProperty, Window.Current.Bounds.Width - width);
popup.SetValue(Canvas.ZIndexProperty, 0);
popup.IsOpen = true;
}你不需要考虑后退的事情 这个系统已经帮你处理好了
- 已建议为答案 Jie BaoModerator 2012年5月23日 10:58
- 已标记为答案 Jie BaoModerator 2012年5月25日 2:36
-
void App_CommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args)
{
var about = new SettingsCommand("about", "关于", (handler) =>
{//声明你自己的控件
var settings = new SettingsFlyout();
//调用自己控件的弹出方法
settings.ShowFlyout(new About());
});
args.Request.ApplicationCommands.Add(about);
}//弹出方法就是一个Popup 的Open
==========================================================================
public void ShowFlyout(UserControl control)
{
popup = new Popup();
popup.Closed += popup_Closed;
Window.Current.Activated += Current_Activated;
popup.IsLightDismissEnabled = true;
popup.Width = width;
popup.Height = Window.Current.Bounds.Height;
control.Width = width;
control.Height = Window.Current.Bounds.Height;
popup.Child = control;
popup.SetValue(Canvas.LeftProperty, Window.Current.Bounds.Width - width);
popup.SetValue(Canvas.ZIndexProperty, 0);
popup.IsOpen = true;
}你不需要考虑后退的事情 这个系统已经帮你处理好了
不好意思,最近才看回复。上面的代码有没有完整的例子呢!!
-
- 已标记为答案 Jie BaoModerator 2012年7月10日 2:35