内容编辑器中的Sitecore XAML UI控件

时间:2011-12-02 16:36:01

标签: xaml sitecore sitecore6

我正在创建一个XAML弹出窗口,我想要的是弹出窗口中的一个imageselector(就像内容编辑器中的那个)。我将imageselector放在代码中:Sitecore.Kernel程序集中的Sitecore.Sheel.Applications.ContentEditor.Image。但是如何在我的XAML UI弹出窗口中渲染它?

如果可能的话,我也想对富文本编辑器做同样的事情。

使用此字段中的数据,我想以编程方式在master数据库中创建一个对象。

任何人都有任何建议或替代解决方案吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

使用XAML应用程序,应用程序(与任何其他ASP.NET页面一样)由控件构成。这些控件由XAML中的<tags>表示。图像/媒体库选择器没有单一控件,它由一系列XAML控件组成,例如GridPanelScrollbox,用于创建对话的每一面。

例如:

<GridPanel Width="100%" Height="100%" Style="table-layout:fixed" Columns="3" GridPanel.Height="100%">

  <Scrollbox Height="100%" Class="scScrollbox scFixSize scFixSize8" Background="white" Padding="0px" GridPanel.Height="100%" GridPanel.Width="200" GridPanel.VAlign="top" Style="overflow:auto">
    <TreeviewEx ID="Treeview" DataContext="MediaDataContext" Click="SelectTreeNode" DblClick="TreeViewDblClick" ShowRoot="true" ContextMenu='Treeview.GetContextMenu("contextmenu")' Width="100%" />
  </Scrollbox>

  <VSplitter ID="MediaBrowserLeft" Target="left" />

  <Scrollbox ID="Listview" Width="100%" Height="100%" Class="scScrollbox scFixSize scFixSize8" Background="white" Padding="0px" GridPanel.Height="100%" GridPanel.Width="100%" GridPanel.VAlign="top" />

</GridPanel>

..这会在左侧面板中创建一个TreeViewEx,在右侧创建一个列表。

RichText编辑器控件是内容编辑器应用程序的一部分(在RAD编辑器中加载以执行富文本编辑部分),据我所知,它不能包含在XAML应用程序中。

您可以在SDN上找到有关XAML应用程序的更多信息,也可以查看<your web root>\sitecore\shell\Applications\中主要sitecore应用程序的.xml文件。我用于此示例的代码段来自\sitecore\shell\Applications\Media\MediaBrowser\MediaBrowser.xml

XAML应用程序可能变得非常复杂,有时可能更容易添加在内容编辑器窗口中打开的简单网页,而不是沿着完整的XAML弹出路由。虽然您可以利用XAML应用程序中的内置UI元素来获得更一致的用户体验。

希望这有帮助。