Sitecore自定义对话框应用程序仍为空

时间:2011-06-28 10:11:52

标签: xaml sitecore sitecore6

所以我为sitecore创建了一个小的自定义对话框应用程序,它通过一个带状按钮调用,该按钮触发一个命令,该命令又触发我的自定义控件。

我的命令(用于触发打开的对话框触发器):

var uri = UIUtil.GetUri("control:LanguageCopyModule");
var id = context.Items[0].ID.ToString();
var la = context.Items[0].Language;
var url = string.Format("{0}&id={1}&la={2}", uri, id, la.Name);
SheerResponse.ShowModalDialog(url);

它在弹出窗口中生成的URL:

http://mydomain/sitecore/shell/default.aspx?xmlcontrol=LanguageCopyModule&id={E67AD356-3999-4D4C-ACE4-C570EFD1FBE0}&la=en

直到这一点,它完全可以正常工作,但现在当它打开我的xml控制窗口时,它只是保持空白。

这是xml背后的代码:

<control xmlns:def="Definition" xmlns="http://schemas.sitecore.net/Visual-Studio-Intellisense">
  <LanguageCopyModule>
    <FormDialog Icon="Applications/16x16/paste.png" Header="Language Copy Module" Text="Copy field values between different languages." OKButton="Copy" CancelButton="Cancel">
      <CodeBeside Type="MyAssembly.Modules.LanguageCopyModule.LanguageCopyModule,MyAssembly.Modules"/>
      <GridPanel Columns="2">
        <GridPanel.ColumnStyles>
          <Column Width="70%" />
          <Column Width="30%" />
        </GridPanel.ColumnStyles>

        <GridPanel.RowStyles>
          <Row Height="100%" />
        </GridPanel.RowStyles>

        <!-- Fields -->
        <FlowPanel>
          <Border BorderThickness="1" BorderBrush="black">
            <Text>Text</Text>
          </Border>
        </FlowPanel>

        <!-- Languages -->
        <FlowPanel>
          <Border BorderThickness="1" BorderBrush="black">
            <Button>Button</Button>
          </Border>
        </FlowPanel>
      </GridPanel>

    </FormDialog>
  </LanguageCopyModule>
</control>

关于为什么它仍然是空的任何想法?几乎找不到文档,可能是我错过了一些东西。

感谢您的帮助!

2 个答案:

答案 0 :(得分:7)

这由web.config中的<controlSources>元素规定。您可以将XML控件放在那里提到的任何文件夹中,也可以添加其他控件源。请注意,为此目的可以预见一个特殊的“覆盖”文件夹。如果你仍然需要添加你自己的控制源,请记住,从Sitecore 6.0可以在一个可插入的配置中完成(这里有官方的Sitecore文档,还有几篇博文)。

答案 1 :(得分:2)

我发现了这个问题:.xml文件需要位于文件系统中/ sitecore / shell下的某个位置。