C# 能否将数据绑定到Silverlight中包含参数的属性?
在silverlight中,可以绑定到包含参数的属性吗?例如,以下内容似乎不起作用。我是否遗漏了什么,或者这是不可能的 C# XAMLC# 能否将数据绑定到Silverlight中包含参数的属性?,c#,.net,vb.net,silverlight,C#,.net,Vb.net,Silverlight,在silverlight中,可以绑定到包含参数的属性吗?例如,以下内容似乎不起作用。我是否遗漏了什么,或者这是不可能的 C# XAML 您的C#有点不稳定-您需要方括号:ValuesField[FieldName] 没有理由不能单向绑定到从索引集合返回的值,但是对于SL3,可以传入的值非常有限,无法指定要使用的索引 检查SL3的功能,以及SL4中可能出现的一些示例。在SL4中,您可以使用字符串索引,但看起来您无法使它们成为动态的,它们必须进行静态(硬)编码。请注意,SL具有WPF所具有的绑定功
您的C#有点不稳定-您需要方括号:ValuesField[FieldName]
没有理由不能单向绑定到从索引集合返回的值,但是对于SL3,可以传入的值非常有限,无法指定要使用的索引
检查SL3的功能,以及SL4中可能出现的一些示例。在SL4中,您可以使用字符串索引,但看起来您无法使它们成为动态的,它们必须进行静态(硬)编码。请注意,SL具有WPF所具有的绑定功能的子集,因此您在WPF中看到的内容不必应用于SL。VB具有创建参数化属性所需的语法,但C不支持参数化属性 XAML解析也无法识别参数化属性 因此,你的问题的简单答案是否定 在C#中模拟这一点的一种方法是在(现在是无参数的)属性上公开类型,该属性具有获取所需参数的索引器。注意:为了与XAML兼容,索引器仅限于具有int和/或string类型的单个参数
这样,您就可以在绑定中使用类似“property[parametervalue]”的属性路径。尝试使用IValueConverter进行绑定您能否详细介绍一下如何执行此操作?
private System.Collections.Generic.Dictionary<string, string> ValuesField = new System.Collections.Generic.Dictionary<string, string>();
public string Value {
get { return ValuesField(FieldName); }
set { ValuesField(FieldName) = value; }
}
Private ValuesField As New System.Collections.Generic.Dictionary(Of String, String)
Public Property Value(ByVal FieldName As String) As String
Get
Return ValuesField(FieldName)
End Get
Set(ByVal value As String)
ValuesField(FieldName) = value
End Set
End Property
<TextBox Name="TextBox1" VerticalAlignment="Top" Width="120"Text="{Binding Path=Value[MyField],Mode=TwoWay }" />