c# - 将文本与数据相结合

标签 c# wpf xaml data-binding

我有一个如下所示的字符串。

string someInfo = string.Format("First Name = {0}, Last Name = {1}",firstName, lastName);

该字符串需要使用 TextBlock 在应用程序中显示。名字和姓氏来自数据库,因此我想为此使用数据绑定(bind)。可以做吗?

最佳答案

是的,有可能。

但是,由于您有多个绑定(bind),因此需要绑定(bind)到 MultiBinding ( MSDN )。

您的绑定(bind)如下所示:

  <TextBlock.Text>
    <MultiBinding Converter="{StaticResource NameConverter}">
      <Binding Path="FirstName"/>
      <Binding Path="LastName"/>
    </MultiBinding>
  </TextBlock.Text>

使用MultiValueConverter:

public class NameConverter : IMultiValueConverter
{
    public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
    {
        return string.Format("First Name = {0}, Last Name = {1}", values[0], values[1]);
    }
    public objct ConvertBack(...)
    {
        return Binding.DoNothing;
    }
}

关于c# - 将文本与数据相结合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27555201/

相关文章:

c# - 为任意参数可以为空的两个表选择记录

C# 无法隐式转换类型 'System.Collections.Generic.List<AnonymousType#1>'

wpf - 按钮自动对齐

WPF 和 VSM - 状态列表?

c# - Windows 8 Metro 风格列表框

c# - 使用 Unity 有条件地注入(inject)依赖项

c# - DllExport 未创建入口点

c# - 在C#中使用自定义数据模型实现通用和扩展的ObservableCollection方法

c# - Canvas 中的 MediaElement 不会拉伸(stretch)以填充

wpf - WPF-使用行和列定义的网格-如何忽略某些行的列