Silverlight RIA绑定问题中的TextBlock DataContext

时间:2011-06-06 22:31:53

标签: silverlight binding service dns properties

我有一个TextBox,我正在尝试将文本属性设置为来自RIA Servises的数据(域名服务,

这是我的代码

    DiscussionAppDomainContext contextCategory = new DiscussionAppDomainContext();
    TextBlockBoardCategoryName.DataContext = contextCategory.discussion_categories;
    contextCategory.Load(contextCategory.GetDiscussion_categoryDetailsFromBoardIDQuery(this._boardID));

这是我的Xaml,

<TextBlock x:Name="TextBlockBoardCategoryName" DataContext="{Binding ElementName=discussion_categoryDomainDataSource, Path=Data.CurrentItem.CategoryName}"/>

如何将此TextBox的Text属性设置为来自域服务的数据?

有一些像是,

TextBlockBoardCategoryName.Text = contextCategory.GetDiscussion_categoryDetailsFromBoardIDQuery(this._boardID)[firstRow]['ColumnName'].Text ?

有人可以帮我吗? 非常感谢你!!!

3 个答案:

答案 0 :(得分:0)

您应该为文本块的Text属性指定数据绑定。您可以参考我的post

希望这有帮助。

答案 1 :(得分:0)

基本文本框绑定:

<TextBox Text="{Binding CategoryName}" />

我不知道您的数据是什么样的,但我相信您的Xaml不正确。您可能应该考虑设置表单/页面的DataContext,然后允许Textbox从中继承datacontext。这样你只需设置一次DataContext。

答案 2 :(得分:0)

如果已设置DomainDataSource,则无需编写任何代码。以下是所有必需的。

<TextBlock x:Name="TextBlockBoardCategoryName" 
     Text={Binding CategoryName}"
     DataContext="{Binding ElementName=discussion_categoryDomainDataSource, Path=Data.CurrentItem}" />

以下是对正在发生的事情的细分。

  1. discussion_categoryDomainDataSource.Data.CurrentItem是一个数据库记录
  2. Text = {Binding CategoryName}是记录上的CategoryName字段。