2013-08-01 20 views
2

我想制作一个xamlpage(或只有xaml),其中包含xaml控件。而且我想在Windows 8应用程序的多个页面中使用它,任何想法都是值得赞赏的。Windows Store应用中所有页面的常见Xaml

+0

尝试用户控件 –

+0

要共享什么样的控件? –

+0

@arun在用户控制的情况下,我必须在每个页面上定义它..但我真的不希望这样。我希望它像一个通知,所以每当一些更新发生它只是在图片无论页面是什么.. – loop

回答

2

这里的一个很好的起点是查看标准Grid应用程序模板中的LayoutAwarePage类。这个类是Page类型的一个子类,包含很多标准功能(例如处理方向更改)

如果您创建类似于LayoutAwarePage的东西,那么您可以在其中具有一组标准功能,您可以在其中重复使用你的应用。但请注意,为了使其工作,您可能需要在每个实际派生页面上添加更多逻辑。另外,你想在这些页面上绘制的UI需要在C#中明确编码,因为没有关联的XAML与这个类。

1

就可以开始这样的事情....这里是你的子类,

 public sealed partial class ChildClass: ApplicationPageBase  
     { 
      private void OnSomeEvent(object sender, TextChangedEventArgs e) 
      { 
       base.IspopOpen = true; 
      } 
     } 

Base类将这个样子

 public abstract class ApplicationPageBase : Page 
     { 
      private Popup settingsPopup; 
      private bool _IsPopOpen; 
      public bool IspopOpen { get;set; } 
      public ApplicationPageBase() 
      { 
       InitiatePopUp(); 
      } 
      void InitiatePopUp() 
      { 
       settingsPopup = new Popup(); 
       //do some code for popup 
      } 
     } 

注:这只是一个变通

+0

这个Applicationbase类可以有关联的xaml..like我说的是页面..我可以直接继承页面.. – loop

+0

是的,你可以不幸:)添加xaml作为ControlTemplate到Application.Resources中的app.xaml,然后你可以在基本页面中访问它: Template =(ControlTemplate)Windows.UI.Xaml.Application.Current.Resources [“GlobalControlKey”] –

+0

谢谢..你的答案是有帮助的。我发现我需要一些休息..:D – loop

相关问题