我正在创建一个XAML弹出窗口,我想要的是弹出窗口中的一个imageselector(就像内容编辑器中的那个)。我将imageselector放在代码中:Sitecore.Kernel程序集中的Sitecore.Sheel.Applications.ContentEditor.Image。但是如何在我的XAML UI弹出窗口中渲染它?
如果可能的话,我也想对富文本编辑器做同样的事情。
使用此字段中的数据,我想以编程方式在master数据库中创建一个对象。
任何人都有任何建议或替代解决方案吗?
提前致谢!
答案 0 :(得分:1)
使用XAML应用程序,应用程序(与任何其他ASP.NET页面一样)由控件构成。这些控件由XAML中的<tags>
表示。图像/媒体库选择器没有单一控件,它由一系列XAML控件组成,例如GridPanel
和Scrollbox
,用于创建对话的每一面。
例如:
<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元素来获得更一致的用户体验。
希望这有帮助。