Person
,该对象具有
FirstName
和
LastName
属性。在我的wpf ui中,我有一个需要绑定到全名:
Label
我不想创建另一个只读属性:<Label Binding="{Binding FullName}" />
我如何在XAML中加入这两个属性?
几个选项:
public string FullName { get { return FirstName + " " + LastName; } }
option 2:水平stackpanel中的多个文本块(或标签):
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} {1}">
<Binding Path="FirstName" />
<Binding Path="LastName" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
个人会选择选项1。
我喜欢马特所描述的多辅助方法。但是,我还应该注意,根据您的应用程序的体系结构,创建您不想创建的全名属性是同样有效的(可以说是更可取的)选择。
如果您使用的是模型视图-ViewModel,则将拥有一个ViewModel,它将公开一个fullname属性,以将其绑定到视图。
在某些框架中,您可以使用字符串格式为:
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding FirstName}" />
<TextBlock Text=" " />
<TextBlock Text="{Binding LastName}" />
</StackPanel>
在Avalonia中为例:
https://docs.avaloniaui.net/docs/basics/data/data-binding/data-binding-syntax