Silverlight内容设置不止一次

本文关键字:不止一次 设置 Silverlight | 更新日期: 2023-09-27 18:05:12

<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:dataInput="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.Input" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="OrgChart.MainPage" mc:Ignorable="d" d:DesignHeight="500" Width="1264">
   <ScrollViewer x:Name="MyScoller" Background="White" Margin="0,0,-102,28">
      <Canvas Canvas.Left="-30" Canvas.Top="-70" Height="100" Name="MyCanvas" Width="260" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.VerticalScrollBarVisibility="Visible" />
   </ScrollViewer>
   <TextBox Height="23" Name="ara" Canvas.Left="59" TextWrapping="Wrap" Text="TextBox" Canvas.Top="-106" Width="120" />
</UserControl>

当我添加文本框时,它显示不止一次错误。如果我将文本框添加到画布中,它不会给出错误。但我想在画布外添加。我该如何处理呢?

Silverlight内容设置不止一次

Silverlight中,您有两类主要的元素:ControlsPanels

一个控件只能有一个子元素(UserControl是一个控件)。

一个Panel可以有任意数量的子元素(Grid, StackPanel, Canvas都是Panel)

如果你想把一个文本框放在ScrollViewer的下面,你可以把它们都放在StackPanel中:

<UserControl>
  <StackPanel>
    <ScrollViewer .../>
    <TextBox .../>
  </StackPanel>
</UserControl>