我之前在Silerlight版发了一次,但是那里人太少,所以这里再发一次两贴都有分,共100,解决了一起揭帖1.
<TextBlock Text="{StaticResource MyText}" />
跟
<TextBlock Text="{Binding Source={StaticResource MyText}}" />
有什么区别?
我发现效果是一样的,都能实现我的要求,为什么有两种语法? 2.
Binding里Source和ElementName有什么区别?
我知道Source要使用资源里的x:Key,而ElementName要使用x:Name,但是效果是一样的,为什么要设计如此相近的语法?
还有,Source还可以接受其他未命名的对象,比如Source={Binding {x:Static s:DateTime.Now}},为什么不用Source来取代ElementName的功能?(s为xmlns:s="clr-namespace:System;assembly=mscorlib") 3.XAML能不能定义类型?
比如我想创建一个:
class Data
{
public string Text{get;set;}
public int Len{get;set;}
}
用XAML怎么来表达? 然后还要创建该类的具体对象 或者创建匿名类型的对象也行,相当于:
new {Text="aa",Len=2} 主要是为了使程序里一些控件的外观保持一致,但是又不想在cs文件中定义类型,所以要求在XAML中定义类型,或者直接匿名对象更好 4.
<Button Content="{x:Static s:DateTime.Now}"> </Button> (s为xmlns:s="clr-namespace:System;assembly=mscorlib") 将按钮的显示内容绑定为当前时间,但是不会实时更新,应该怎么办? 5. 如果我定义了一个类
namespace Name
{
class My{}
} 那么我在xaml中,要使用它,可以:
xmlns:k="clr-namespace:Name" 但是如果我这个类没有放在命名空间中,怎么在XAML中使用? 注释掉命名空间
//namespace Name
//{
classs My{}
//}
http://hi.csdn.net/link.php?url=http://topic.csdn.net%2Fu%2F20091207%2F00%2Fe8385307-6f5a-4bb8-aece-419bc2a73e16.html
<TextBlock Text="{StaticResource MyText}" />
跟
<TextBlock Text="{Binding Source={StaticResource MyText}}" />
有什么区别?
我发现效果是一样的,都能实现我的要求,为什么有两种语法? 2.
Binding里Source和ElementName有什么区别?
我知道Source要使用资源里的x:Key,而ElementName要使用x:Name,但是效果是一样的,为什么要设计如此相近的语法?
还有,Source还可以接受其他未命名的对象,比如Source={Binding {x:Static s:DateTime.Now}},为什么不用Source来取代ElementName的功能?(s为xmlns:s="clr-namespace:System;assembly=mscorlib") 3.XAML能不能定义类型?
比如我想创建一个:
class Data
{
public string Text{get;set;}
public int Len{get;set;}
}
用XAML怎么来表达? 然后还要创建该类的具体对象 或者创建匿名类型的对象也行,相当于:
new {Text="aa",Len=2} 主要是为了使程序里一些控件的外观保持一致,但是又不想在cs文件中定义类型,所以要求在XAML中定义类型,或者直接匿名对象更好 4.
<Button Content="{x:Static s:DateTime.Now}"> </Button> (s为xmlns:s="clr-namespace:System;assembly=mscorlib") 将按钮的显示内容绑定为当前时间,但是不会实时更新,应该怎么办? 5. 如果我定义了一个类
namespace Name
{
class My{}
} 那么我在xaml中,要使用它,可以:
xmlns:k="clr-namespace:Name" 但是如果我这个类没有放在命名空间中,怎么在XAML中使用? 注释掉命名空间
//namespace Name
//{
classs My{}
//}
http://hi.csdn.net/link.php?url=http://topic.csdn.net%2Fu%2F20091207%2F00%2Fe8385307-6f5a-4bb8-aece-419bc2a73e16.html
Binding Source 是object 能一样吗? 用StaticResource就不能Path=xx.xx
2.Source可以是一个view ElementName必须是可视化树节点上的
3.何必为难自己 xaml还是会被编译成.cs
4.你在winform里或者web设置label.text=dateitme.now.tosorttimestring() 他会自己刷新吗? 不会
怎么做? winform里怎么做 这里就怎么做
5.我不认为这样做是合理的, 没有命名空间 即便是在.cs里 你怎么找到这个类?
我也是用Silverlight的,不过对它的了解还是不多,而且,还在用2.0-_-!
3.这个问题没有讨论的意义
4.首先如果想要界面元素能够实时接收后台属性的更改,该属性必须为依赖属性,或者实现了INotifyPropertyChanged接口,其次必须使用绑定,故在此如果想实现实时时间显示,也许应该在后台定义一个DateTime类型的依赖属性,和界面绑定,通过一个Timer实时刷新,求更好的方法
<TextBlock Text="{StaticResource MyText}" />
跟
<TextBlock Text="{Binding Source={StaticResource MyText}}" />
有什么区别?
我发现效果是一样的,都能实现我的要求,为什么有两种语法? 效果一样,本质不同。背后的区别是调用了 FrameworkElement.SetBinding() 还是 DependencyObject.SetValue()2.
Binding里Source和 ElementName有什么区别?
我知道Source要使用资源里的x:Key,而ElementName要使用x:Name,但是效果是一样的,为什么要设计如此相近的语法?
还有,Source还可以接受其他未命名的对象,比如Source={Binding {x:Static s:DateTime.Now}},为什么不用Source来取代ElementName的功能?(s为xmlns:s="clr- namespace:System;assembly=mscorlib") Source是一个Obejct,你只理解为使用资源中的x:Key太狭义了。它可以是你以任何形式传递的值。
而ElementName属于一个简便语法,但是适用范围相对较窄。3.XAML能不能定义类型?
比如我想创建一个:
class Data
{
public string Text{get;set;}
public int Len{get;set;}
}
用XAML怎么来表达? 然后还要创建该类的具体对象 或者创建匿名类型的对象也行,相当于:
new {Text="aa",Len=2} 主要是为了使程序里一些控件的外观保持一致,但是又不想在cs文件中定义类型,所以要求在XAML中定义类型,或者直接匿名对象更好
不能
4.
<Button Content="{x:Static s:DateTime.Now}"> </Button> (s为 xmlns:s="clr-namespace:System;assembly=mscorlib") 将按钮的显示内容绑定为当前时间,但是不会实时更新,应该怎么办?
单从字面上理解都应该知道 x:Static 是不会更新的了。如果要做到这种效果,需要自己写一个类并实现了INotifyPropertyChanged接口,且以Binding的形式绑定到控件上。
5. 如果我定义了一个类
namespace Name
{
class My{}
} 那么我在xaml中,要使用它,可以:
xmlns:k="clr-namespace:Name" 但是如果我这个类没有放在命名空间中,怎么在XAML中使用? 注释掉命名空间
//namespace Name
//{
classs My{}
//}没办法在 XAML 中引用---------另外,1楼已经做了解答。
如果楼主你是来讨论问题的,即使你认为1楼的答案不对,也请提出看法,否则一味地UP UP UP,是不是显得有些不礼貌,也不尊重帮助你的朋友?