【发布时间】:2009-08-16 05:03:56
【问题描述】:
我无法理解 the Silverlight documentation 的数据绑定。我寻求一个非常简单的例子。
假设我在 XAML 文件中定义了一个 UserControl。 UserControl 的顶层子级是一个 Grid,有 n 列和 m 行。网格内是一个矩形。像这样:
<UserControl....
<Grid ...>
<Rectangle ...>
矩形应显示在网格内的特定(行、列)中。根据各种事件,此行/列对在运行时更改。
我想我可以为此使用数据绑定。有人可以确认这是对数据绑定的合理使用吗?
我想我可以这样做:
<Rectangle x:Name="rect"
Grid.Column = "{Binding ???}"
Grid.Row = "{Binding ???}" />
但是,我不知道该绑定什么。
那里有什么?而且,我如何验证我放在那里的内容?看来我可以放任何我喜欢的字符串,甚至是独立宣言的全文,而且它的行为方式完全相同。在今天,它什么也没做。这没用。它不会抛出异常。
我不知道那个字符串应该是什么。而且我不知道如何调试我放在那里的东西。似乎没有办法知道它是正确的、有效的还是荒谬的。
一个简单的例子就足够了。我不知道为什么 MSDN 文档如此迟钝。难道只有我一个不懂事吗like this
在 Silverlight 中,您可以绑定到任何依赖项属性的目标值。数据绑定的源属性值不必是依赖属性;如果满足某些条件,它可以是 CLR 对象的属性(请参阅数据绑定)。源对象也可以是通过名称或对象图中的相对位置引用的现有依赖对象。在 Silverlight 中,您可以绑定到任何依赖项属性的目标值。数据绑定的源属性值不必是依赖属性;如果满足某些条件,它可以是 CLR 对象的属性(请参阅数据绑定)。源对象也可以是通过名称或对象图中的相对位置引用的现有依赖对象。
那种文档让我想跌倒哭泣。谁写的废话?并且文档页面没有包含一个示例来显示所有这些词的含义。听着,英语是我的第一语言。我认为自己是一个 .NET 开发人员。但我无法理解那段内容。写这篇文章的人或委员会应该被带回去枪毙。两次。
即使在 MSDN 页面之外,我也无法找到实际展示 silverlight 数据绑定如何工作的示例。在 MSDN 中有一些示例显示类似
<Binding ...who cares? ....>
但我不知道那个“”是什么。它不在我的 xaml 中,我认为我不想在我的 xaml 中使用它。我拥有的是一个实际的控件,以及其中的一个 Rectangle 。我可以通过数据绑定指定矩形的 Grid.Column 或 Grid.Row 吗?
现在,我告诉过你 Rectangle 位于 Grid 中,它是 UserControl 的子级。
<UserControl....
<Grid ...>
<Rectangle ...>
我得到了一个 UserControl 的代码隐藏文件,它看起来像这样:
public partial class MyThing : UserControl
{
....
}
如果我想通过 UserControl 上的 int 属性在网格内(在用户控件内)绑定矩形的位置怎么办。我可以这样做吗?我可以将 Grid.RowProperty 和 Grid.ColumnProperty 绑定到 something 吗?如果 X 和 Y 是这样的:
public partial class MyThing : UserControl
{
public int X { get; set; }
public int Y { get; set; }
....
}
我可以将它绑定到矩形的 grid.row 和 grid.column 吗?怎么样?
请有人澄清并举一个简单的例子。
【问题讨论】:
标签: .net silverlight data-binding