2011-12-02 41 views
-1

我正在創建一個XAML彈出窗口,我想要的是在彈出窗口中的圖像選擇器(就像內容編輯器中的那個)。我在Sitecore.Kernel程序集的代碼中找到imageselector:Sitecore.Sheel.Applications.ContentEditor.Image。但是,我如何在我的XAML UI彈出窗口中渲染它?來自內容編輯器的Sitecore XAML UI控件

如果可能的話,我也想用富文本編輯器做同樣的事情。

有了這個字段中的數據,我想在主數據庫中以編程方式創建一個對象。

任何人都有任何建議或替代解決方案嗎?

在此先感謝!

回答

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元素來獲得更一致的用戶體驗。

希望這會有所幫助。

相關問題