<UserControl x:Class="SilverlightApplication9.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" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="400"> <Grid x:Name="LayoutRoot" Background="White"> <Grid.RowDeFinitions> <RowDeFinition Height="50"></RowDeFinition> <RowDeFinition Height="*"></RowDeFinition> </Grid.RowDeFinitions> <Button Name="TestButton" Width="200" Height="24" Content="Add" Grid.Row="0"></Button> <ScrollViewer Name="TestScrollViewer" Grid.Row="1"> <StackPanel Name="TestStackPanel" Orientation="Vertical"> </StackPanel> </ScrollViewer> </Grid> </UserControl>
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; namespace SilverlightApplication9 { public partial class MainPage : UserControl { private int counter = 1; public MainPage() { InitializeComponent(); TestButton.Click += new RoutedEventHandler(TestButton_Click); } void TestButton_Click(object sender,RoutedEventArgs e) { //新添加Button Button button = new Button(); button.Width = 200; button.Height = 100; button.Content = counter++; button.Click += new RoutedEventHandler(button_Click); TestStackPanel.Children.Add(button); } void button_Click(object sender,RoutedEventArgs e) { Button button = sender as Button; //获取Button控件相对于StackPanel的位置 GeneralTransform gt = button.TransformToVisual(TestStackPanel); Point point = gt.Transform(new Point(0,0)); button.Content = "(" + point.X + "," + point.Y + ")"; } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。