Silverlight中每页两个usercontrols?

问题描述

| 在Silverlight中是否可以在一页上并排放置两个控件?在一页上仅包含一个用户控件似乎非常严格。 我是Silverlight的新手。但是每个页面似乎在XAML主页的顶部都有这个\“ UserControl x:Class ... \”。那么,如果您希望拥有两个相互影响的应用程序怎么办? 好的,它不在应用程序中,而在page.xaml中。因此,我想进一步解释一下,让我问一下。 onw应用程序中可以有两个页面吗? 我试图在同一页面上有两个预构建的控件(一个visi控件和一个vectorlight树控件)。该应用程序的格式如下所示: 所以我想在一个应用程序的左侧显示树状视图,在右侧显示visi控件。这可能吗? 树视图示例具有此用户控制代码
<UserControl x:Class=\"TreeViewProgrammatic.Page\"

xmlns=\"http://schemas.microsoft.com/client/2007\"

xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"

xmlns:liquidTreeView=\"clr-namespace:Liquid;assembly=Liquid.TreeView\"

Width=\"400\" Height=\"300\">
一个控件具有这样的用户控件代码
<UserControl x:Class=\"LiveUpdate.Page\"
xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" 
xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\" 
Width=\"500\" Height=\"340\">
有没有办法将两个都放在一个page.xaml上?     

解决方法

我将解释您的要求。您有两个“ 2”的派生类,其中部分包含一些第三方控件(实际上与要求无关)和一些自己的代码,以使这些控件执行您希望它们执行的操作。 现在,您希望它们对用户并排可见,它们彼此交互,因此希望它们可以在同一Silverlight应用程序中运行。 您已经将它们都称为\“ Page \”,然后将它们放置在自己的名称空间中(可能是因为您实际上已经创建了两个probject)。因此,第一步是创建一个新的Silverlight应用程序,并将它们都放在同一个项目中,让我们将项目命名为“ Xarzu1 \”,还将
UserControl
的派生类重命名为
TreeViewProgrammatic
LiveUpdate
,这样我们就没有两个控件了\“ Page \”的无用名称。 现在编辑MainPage.xaml,使其如下所示:-
<UserControl x:Class=\"Xarzu1.MainPage\"
    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"
    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"
    xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"
    xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"
    xmlns:local=\"clr-namespace:Xarzu1\"
    mc:Ignorable=\"d\"
    d:DesignHeight=\"400\" d:DesignWidth=\"800\">
     <Grid x:Name=\"LayoutRoot\">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width=\"*\" />
            <ColumnDefinition Width=\"2*\" />
        </Grid.ColumnDefinitions>
        <local:TreeViewProgrammatic />
        <local:LiveUpdate />
    </Grid>
</UserControl>
现在,两个控件都可以并排显示。     ,我理解您的意思后,ѭ7本身就是一个控件(根控件),可以包含控件。最初它应包含一个跨越
Page
大小的
Grid
,这意味着您可以在
Grid
中放置控件以消耗
Page
上的所有空间。但是,我们可以在
Grid
中定义
Column
Row
,因此,请考虑以下内容:
<Grid>
  <Grid.ColumnDefinitions>
      <ColumnDefinition />
      <ColumnDefinition />
  </Grid.ColumnDefinitions>

  <TextBlock Grid.Column=\"0\" Text=\"I\'m on the left side!\" />
  <TextBlock Grid.Column=\"1\" Text=\"I\'m on the right side!\" />
</Grid>
自定义“ 2”项同样如此-它本身是根控件,添加到其中的是子控件,这就是组成复合控件的原因。     ,实例化一个用户控件的2个实例时是否出现任何错误?据我所知,应该在Silverlight页面中有多个用户控件。您可以张贴一些有关您要执行的操作的代码吗?