XAML绑定字符串串联

问题描述 投票:0回答:3
我有一个对象

Person

,该对象具有
FirstName
LastName
属性。 

在我的wpf ui中,我有一个需要绑定到全名:

Label

我不想创建另一个只读属性:
<Label Binding="{Binding FullName}" />

我如何在XAML中加入这两个属性?
	

几个选项:

xaml binding string-concatenation
3个回答
13
投票

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属性,以将其绑定到视图。

4
投票
但是就像我说的那样,这一切都取决于您应用程序的架构。

在某些框架中,您可以使用字符串格式为:

<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

0
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.