3 回答
TA贡献1797条经验 获得超6个赞
您可以将其MultiBinding与StringFormat属性结合使用。用法类似于以下内容:
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} + {1}">
<Binding Path="Name" />
<Binding Path="ID" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
给定Name的Foo值和ID的值,1您在TextBlock中输出的值将为Foo + 1。
Note: .NET 3.5 SP1和3.0 SP2或更高版本仅支持此功能。
TA贡献1803条经验 获得超6个赞
我知道这很晚,但是我想我会添加另一种方式。
您可以利用以下事实:可以使用“ Run s” 来设置Text属性,因此可以使用Run为每个绑定设置多个绑定。如果您无权访问MultiBinding(在为Windows Phone开发时找不到),这将很有用。
<TextBlock>
<Run Text="Name = "/>
<Run Text="{Binding Name}"/>
<Run Text=", Id ="/>
<Run Text="{Binding Id}"/>
</TextBlock>
TA贡献1793条经验 获得超6个赞
如果这些只是文本块(因此是一种单向绑定),而您只想串联值,则只需绑定两个文本块并将它们放在水平堆栈面板中即可。
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}"/>
<TextBlock Text="{Binding ID}"/>
</StackPanel>
这将显示文本(这是所有Textblock所做的),而无需执行任何其他编码。您可能会给它们留一点利润,以使它们看起来正确。
添加回答
举报