Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.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
如何在Silverlight中进行简单绑定?_Silverlight_Xaml_Class_Binding - Fatal编程技术网

如何在Silverlight中进行简单绑定?

如何在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 =

我知道Silverlight 3.0有绑定,但我只想要一个简单的示例,说明如何使用它从类中读取属性。 我有一个名为Appointment的类,它是一个名为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