Dav*_*Dev 3 c# wpf xaml binding
目前我有以下几点:
<DataGridTextColumn Header="Customer Name"
x:Name="columnCustomerSurname"
Binding="{Binding Path=Customer.FullName}" SortMemberPath="Customer.Surname"
IsReadOnly="True">
</DataGridTextColumn>
Run Code Online (Sandbox Code Playgroud)
其中Customer.FullName定义为:
public string FullName
{
get { return string.Format("{0} {1}", this.Forename, this.Surname); }
}
Run Code Online (Sandbox Code Playgroud)
绑定有效,但不理想。
如果有人更新Forename或Surname属性,则更新不会反映在 DataGrid 中,直到它被刷新。
我发现了与此类似的问题,例如/sf/answers/378514811/使用MultiBinding但它适用于 aTextBlock而不是DataGrid.
我还有另一种方法可以让这个工作吗?
小智 5
一种选择是基于两个文本块创建一个复合模板列,当对任一属性进行更改时,这仍然允许表单更新。
例如。
<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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2436 次 |
| 最近记录: |