我有一个带有按钮的列,用于编辑行, 但id键不是唯一的值,而是三个值。 如何在按钮中设置三个值,以便在单击按钮时,我可以在后面的代码中获得三个值?
专栏
<dg:DataGridTemplateColumn Header="Edit">
<dg:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="Adjust" DataContext="{Binding wId1}" Click="EditButton_Click" />
</DataTemplate>
</dg:DataGridTemplateColumn.CellTemplate>
</dg:DataGridTemplateColumn>
我想通过wId1,wId2,wId3。 此外,可以用字符串值wId1 + wId2 + wId3传递一个值吗?
请多多关于此的阅读建议,非常感谢。
答案 0 :(得分:1)
为什么不使用{Binding}将整个对象绑定到DataContext。 在后面的代码中,您可以将DataContext强制转换为您的对象类型并访问您想要的任何属性。
您还可以拥有一个带有不同ID的数组或列表的自定义属性并将其绑定。
如果由于某种原因只想将ID传递给后面的代码,可以使用只返回列表或数组的ValueConverter到ID。
{Binding Converter={StaticResource MyConverter}}
希望它有所帮助。
答案 1 :(得分:0)
您可以绑定到任何公共属性,因此一个选项可能是拥有一个只返回连接字符串的属性?一些事情:
public string ConcatenatedValues
{
get
{
return wId1 + wId2 + wId3;
}
}
然后绑定到那个。如果有一种更优雅的方式会很有趣,但这应该可以完成工作。