如何在Silverlight中进行简单绑定?
我知道Silverlight 3.0有绑定,但我只想要一个简单的示例,说明如何使用它从类中读取属性。 我有一个名为Appointment的类,它是一个名为Location的字符串属性:如何在Silverlight中进行简单绑定?,silverlight,xaml,class,binding,Silverlight,Xaml,Class,Binding,我知道Silverlight 3.0有绑定,但我只想要一个简单的示例,说明如何使用它从类中读取属性。 我有一个名为Appointment的类,它是一个名为Location的字符串属性: Public Property Location() As String Get Return _Location End Get Set(ByVal Value As String) _Location =
Public Property Location() As String
Get
Return _Location
End Get
Set(ByVal Value As String)
_Location = Value
End Set
End Property
当然是字符串形式的_位置的私有声明。
我希望XAML元素绑定到此属性以在TextElement中显示此属性,但它必须在XAML中,而不是在代码中,例如,我希望类似以下内容:
<TextBlock Text="{Binding Appointment.Location}"/>
我需要做些什么才能让它工作?
它必须是Silverlight 3.0解决方案,因为有些WPF功能不存在,比如我习惯使用的DynamicSource
只需补充一点,我的XAML是从一个单独的XAML文件加载的,这可能是绑定示例似乎不起作用的原因之一,因为同一个约会有不同的XAML文件。需要应用位置数据。如果我读得正确,您需要创建约会实例,将控件的DataContext设置为该实例,并修改绑定,使其仅为:Text={binding Location}
也可以考虑在您的约会类上实现IntIfyPyryType以允许数据类通知属性值更改的UI。< /P> < P>如果我正确阅读,您需要创建一个约会实例,将控件的DataContext设置为该实例,并修改您的绑定,只需说:text = {绑定位置}/P>
也可以考虑在您的约会类上实现IntIfyPrimyType以允许数据类通知属性值更改的UI。
您有两个选项。
如果约会类可用作控件或窗口的DataContext,则可以执行以下操作:<TextBlock Text="{Binding Location}" />
但是,如果约会是当前DataContext的属性,则需要更复杂的绑定路径:
<TextBlock Text="{Binding Path=Appointment.Location}" />
完整的详细信息记录在MSDN下。如果两者都不起作用,请确保DataContext设置正确。您有两个选项
如果约会类可用作控件或窗口的DataContext,则可以执行以下操作:
<TextBlock Text="{Binding Location}" />
但是,如果约会是当前DataContext的属性,则需要更复杂的绑定路径:
<TextBlock Text="{Binding Path=Appointment.Location}" />
完整的详细信息记录在MSDN下。如果两者都不起作用,请确保DataContext设置正确。您需要一些代码,除非您想在资源中声明约会实例并绑定到该实例,但我怀疑这是您想要的 您需要将Text属性绑定到属性路径位置,然后将包含XAML的DataContext分配给约会的实例:-
<Grid x:Name="LayoutRoot" Background="White">
<TextBlock Text="{Binding Location}" />
</Grid>
注意,在本例中,我使用的是默认的页面控件。您需要一些代码,除非您希望在资源中声明约会实例并绑定到该实例,但我怀疑这是您想要的 您需要将Text属性绑定到属性路径位置,然后将包含XAML的DataContext分配给约会的实例:-
<Grid x:Name="LayoutRoot" Background="White">
<TextBlock Text="{Binding Location}" />
</Grid>
请注意,在本例中,我使用的是默认页面控件。这听起来像我需要的-如何将XAML中的DataContext设置为类的实例?这听起来像我需要的-如何将XAML中的DataContext设置为类的实例?实际上,这让我意识到,我在类之前分配DataContext实例,如果我在加载XAML后将约会类指定为DataContext,它会工作!实际上,这让我意识到,我在类实例化之前分配DataContext,如果我在加载XAML后将约会类分配为DataContext,它就会工作!谢谢你,至少我现在有了一些有用的东西,习惯了动态资源,但这更强大,而且在我的Xaml中也更整洁。谢谢你,至少我现在有了一些有用的东西,我已经习惯了DynamicResources,但它更强大,而且在我的Xaml中也更整洁。看起来这里的答案在让它工作方面非常好,只是DataContext部分使它工作了,因为直到现在还不确定如何做到这一点!我需要多个DataContext绑定到几个类,但应该能够解决这个问题-将它们绑定到一个类以绑定到XAML。看起来这里的答案非常有助于实现这一点,只是DataContext部分使其工作,因为直到现在还不确定如何实现这一点!我需要多个DataContext来绑定到几个类,但应该能够解决这个问题——将它们组合到一个类中绑定到XAML