Silverlight中是否可以在一个页面上并排放置两个控件?仅在一个页面上只有一个用户控件似乎非常有限。
我是银光的新手。但是每个页面似乎都在主页XAML的顶部有“UserControl x:Class ...”。那么如果你想要一个有两个并排的应用程序相互影响的应用呢?
好的,它不在App中,它位于page.xaml中。所以我想进一步解释让我问这个问题。在onw应用程序中可以有两个页面吗?
我试图在同一页面上有两个预建控件(一个visi控件和一个矢量树控件)。该应用程序的格式如下所示:
所以我想要一个应用程序左侧的树视图和右侧的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">
有没有办法让两个在一个页面上.xaml?
答案 0 :(得分:1)
认为我理解你的意思,Page
是一个控件本身(根控件)并且可以包含控件;最初它应该包含Grid
,其大小与Page
相同,这意味着您可以在Grid
中放置一个控件来占用Page
上的所有空格。不过,我们可以在Column
中定义Row
和Grid
,所以请考虑一下:
<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>
同样适用于自定义UserControl
项 - 本身是根控件,添加到其中的是子项,这就构成了复合控件。
答案 1 :(得分:1)
我会解释你的要求。你有UserControl
的两个衍生物,其中包含部分第三方控件(实际上与要求无关)以及一些你自己的代码,使这些控件可以执行你想要的操作。
现在,您希望用户可以同时看到它们,它们可以相互交互,因此它们可以在同一个Silverlight应用程序中运行。
您已将它们都称为“页面”,但随后将它们放在自己的命名空间中(可能是因为您实际上已经创建了两个项目)。所以第一步是创建一个新的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>
现在两个控件并排显示。
答案 2 :(得分:0)
在实例化用户控件的2个实例时是否收到任何错误?据我所知,应该可以在silverlight页面中拥有多个用户控件。你能发布一些关于你想要做什么的代码吗?