在wp7中自定义控制/编写控制模板

时间:2012-02-14 04:37:39

标签: c# xaml windows-phone-7 expression-blend

我一直在尝试在wp7中自定义webbrowser控件。我需要做的就是添加一个border属性(我认为它已经在webbrowser中可用,但是当我将它作为一个控件时我必须强制它)并且想要添加一些额外的事件处理程序并使其成为一个控件以便以后可以在不同的项目中使用。

我尝试阅读msdn中的材料来编写控件模板,这一切都围绕编写一些xaml代码并将其附加到代码隐藏以使其工作。我不明白的是我如何学习xaml?或者换句话说,msdn在xaml中讨论的所有标签的参考在哪里?它看起来很大,我不知道如何去做。 msdn中的教程直接泄漏到xaml代码中,我完全糊涂了..

所以现在我要做的就是这个,

  
      
  1. 在Expression Blend(Windows Phone控件库)中创建一个控件,该控件将创建一个继承的类(MyCustomControl)   来自CustomControl基类。

  2.   
  3. 现在在xaml中我添加了一个webbrowser控件并添加了四个事件处理程序(mouseup,down等)。

  4.   
  5. 我在混合中构建此控件并在VS2010中添加相应的dll。

  6.   
  7. 现在,当我尝试将此控件添加到我的wp7手机应用程序时,它会显示“无法创建MyCustomControl的实例”..

  8.   

这些是我在创建一个时引用的其他链接, Windowsphone - Creating a custom control Windowsphone - Control Template. UserControl vs Custom Control Creating a new control by creating ControlTemplate

任何进一步的帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

您可以添加到XAML中的“元素”的确切列表。这样做的原因是XAML解析器可以根据您提供的XML创建任何UIElement类。因此,可用的元素取决于项目中存在的程序集。请阅读MSDN XAML Overview了解详情

对于默认情况下存在的控件列表,请查看System.Windows.Controls命名空间(我认为此链接不适用于您的Silverlight版本,最好是使用对象浏览器查看项目中的程序集。

针对您的问题,您要为WebBrowser控件添加边框。我建议您创建一个UserControl as per this tutorial