Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将动态对象从代码隐藏访问到.xaml文件?_C#_.net_Wpf_Xaml - Fatal编程技术网

C# 如何将动态对象从代码隐藏访问到.xaml文件?

C# 如何将动态对象从代码隐藏访问到.xaml文件?,c#,.net,wpf,xaml,C#,.net,Wpf,Xaml,我是wpf新手。我想为r1、r2、r3、r4、e1、e2应用动画。我必须在.xaml文件中访问这些对象名称才能编写故事板,以便应用动画。如何在.xaml文件中访问这些对象名称?你能给我发一些示例应用程序来了解如何创建动态对象以及如何将其访问到.xaml中以应用动画吗 这是我的.cs文件的一部分 namespace WpfApplication1 { /// <summary> /// Interaction logic for Window1.xaml ///

我是wpf新手。我想为r1、r2、r3、r4、e1、e2应用动画。我必须在.xaml文件中访问这些对象名称才能编写故事板,以便应用动画。如何在.xaml文件中访问这些对象名称?你能给我发一些示例应用程序来了解如何创建动态对象以及如何将其访问到.xaml中以应用动画吗

这是我的.cs文件的一部分

namespace WpfApplication1
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        Rectangle r1, r2, r3, r4;
        Ellipse e1, e2;       
        Shape contact,lvi;
        int flag=0;
        Point startPoint,cp;
        private Point enterPoint,p;
        public Window1()
        {
            InitializeComponent();
        }

        .
        .
        .
        .
        .

     private void Canvas_Drop(object sender, DragEventArgs e)
    {
        if (e.Data.GetDataPresent("MyFormat"))
        {
            contact = e.Data.GetData("MyFormat") as Shape;
            Canvas CanvasView = sender as Canvas;
            //MessageBox.Show(contact.GetType().ToString());
            string savedObject = XamlWriter.Save(contact);
            StringReader stringReader = new StringReader(savedObject);
            XmlReader xmlReader = XmlReader.Create(stringReader);
            lvi = (Shape)XamlReader.Load(xmlReader);



            if (contact is Rectangle && contact.Name == "rect1" && r1 == null)
            {
                r1 = (Rectangle)lvi;
                r1.Margin = new Thickness(151, 129, 0, 0);
                CanvasView.Children.Add(r1);


            }
            else
            if (contact is Rectangle && contact.Name == "rect2" && r2 == null)
            {
                r2 = (Rectangle)lvi;
                r2.Margin = new Thickness(122, 142, 0, 0);
                canvas1.Children.Add(r2);
            }
            else
            if (contact is Rectangle && contact.Name == "rect3" && r3 == null)
            {
                r3 = (Rectangle)lvi;
                r3.Margin=new Thickness(132,225,0,0);
                canvas1.Children.Add(r3);
            }
            else 
            if (contact is Rectangle && contact.Name == "rect4" && r4==null )
            {
                r4 = (Rectangle)lvi;
                r4.Margin = new Thickness(177, 225,0,0);
                canvas1.Children.Add(r4);
            }
            else 
            if (contact is Ellipse && contact.Name == "ellipse1" && e1==null)
            {
                 e1 = (Ellipse)lvi;
                e1.Margin=new Thickness(123,74,0,0);
                canvas1.Children.Add(e1);
               // e1.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(ellipse_MouseLeftButtonDown);
            }
            else 
            if (contact is Ellipse && contact.Name == "ellipse2" && e2 == null)
            {
                e2 = (Ellipse)lvi;
                e2.Margin = new Thickness(324, 214, 0, 0);
                canvas1.Children.Add(e2);
            }
            else
            {
                MessageBox.Show("can not drop this item");
            }
        }
        }
}

}

在xaml中,您只能绑定到公共属性,或使用值转换器