gpt4 book ai didi

c# - 是否可以将 2 个属性绑定(bind)到单个 DataGrid 字段中?

转载 作者:行者123 更新时间:2023-11-30 14:36:08 26 4
gpt4 key购买 nike

目前我有以下内容:

<DataGridTextColumn Header="Customer Name" 
x:Name="columnCustomerSurname"
Binding="{Binding Path=Customer.FullName}" SortMemberPath="Customer.Surname"
IsReadOnly="True">
</DataGridTextColumn>

其中 Customer.FullName 定义为:

public string FullName
{
get { return string.Format("{0} {1}", this.Forename, this.Surname); }
}

绑定(bind)有效,但并不理想。

如果有人更新了 ForenameSurname 属性,在刷新之前,更新不会反射(reflect)在 DataGrid 中。

我发现了类似的问题,例如https://stackoverflow.com/a/5407354/181771它使用 MultiBinding 但它适用于 TextBlock 而不是 DataGrid

我还有其他方法可以让它正常工作吗?

最佳答案

一个选项是创建一个基于两个文本 block 的复合模板列,这仍然允许在对任一属性进行更改时更新表单。

例如。

<DataGridTemplateColumn Header="Customer Name">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=Customer.ForeName}"/>
<TextBlock Text="{Binding Path=Customer.SurName}"/>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

关于c# - 是否可以将 2 个属性绑定(bind)到单个 DataGrid 字段中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10934497/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com