((label)this.FindName("label1")) .content
类型转换一下

解决方案 »

  1.   

    问题乱说的吧
    this.FindName("label1") = "123"; 这样才会提示FindName只能用于等号的右边this.FindName("label1").content 这样的,我看你content的首字母是小写的,不是ide自动帮你完成的吧,是你自己手写的,FindName返回的是object对象,没有content属性,要转换。我让页面动态创建了Label对象label,label.Name = "label1",页面动态创建是什么意思?控件要么在设计时创建,在页面拖控件,要么运行时创建,在代码new出来,你说的在页面动态创建,理解不了。FindName是WPF一类的,不是普通的Windows窗体程序,你确定没看错书?是在学WPF?还是在学WP手机开发?
      

  2.   

    如果是在页面拖了一个label控件,
            <Label Content="Label" Height="28" HorizontalAlignment="Left" Margin="40,184,0,0" Name="label1" VerticalAlignment="Top" />
    那在后台代码写
                (this.FindName("label1") as Label).Content = "123";
    就可以了
      

  3.   

    噢,是WPF里面的,问题中的代码是手打的,所以没那么严谨
    Label是这样创建的:Label mylabel= new Label();mylabel.Name = "123";
      

  4.   

    噢,是WPF里面的,问题中的代码是手打的,所以没那么严谨
    Label是这样创建的:Label mylabel= new Label();mylabel.Name = "123";Name="123"是不对的吧,Name不能用数字开头的关键是你既然是后台生成的,为什么不直接用mylabel呢?mylabel.Content = "123"不久可以了
      

  5.   

    噢,是WPF里面的,问题中的代码是手打的,所以没那么严谨
    Label是这样创建的:Label mylabel= new Label();mylabel.Name = "123";Name="123"是不对的吧,Name不能用数字开头的关键是你既然是后台生成的,为什么不直接用mylabel呢?mylabel.Content = "123"不久可以了额,这是手打的,只是方便理解用你在3L的那个方法,问题解决了,谢谢啊
      

  6.   


    我还想问下:“运行时创建,在代码new出来”这个不是叫动态创建吗?如果不是,那动态创建是指什么?俺是小白一个,求轻喷
      

  7.   

    new出来是动态创建,你说的"我让页面动态创建了" 这个不好理解,我现在也稀里糊涂,不知道你是怎么解决的,我3楼就是做了类型转换,按说你new出来的是不需要findname来使用的。
      

  8.   


    我是循环创建了一堆Label然后加入一个StackPanel,再把StackPanel加入一个UniformGrid里面的:
    for (int i = 0; i < count; i++)
    {
    Label lb1 = new Label();
    Label lb2 = new Label();
    lb1.Name = "seat" + i + "_lb1";
    lb2.Name = "seat" + i + "_lb2";
    StackPanel sp = new StackPanel();
    sp.Name = "seat" + i + "_sp";
    this.UniformGrid.Children.Add(sp);
    this.UniformGrid.RegisterName(sp.Name, sp);
    sp.Children.Add(lb1);
    sp.RegisterName(lb1.Name, lb1);
    sp.Children.Add(lb2);
    sp.RegisterName(lb2.Name, lb2);
    }
    所以我后面只能根据我给label赋的Name值去操作这些Label
    你说的new出来的是不需要findname来使用是怎么回事?
      

  9.   

    我的意思是可以通过lb1和lb2来控制,你可以放在某个字典集合里,不过从你现在的代码来看,通过查找Name来控制也是一个好办法,不用改了吧。