`

WPF -- 绑定显示多个属性

阅读更多

参考

方法1:

DataTemplate 包含一个 StackPanel;

StackPanel 包含多个 TextBlock;

一个属性绑定到一个 TextBlock。

(我比较喜欢的)

 

XAML代码

<ItemsControl ItemsSource="{Binding Path=.}">
  <ItemsControl.ItemTemplate>
    <DataTemplate>
      <StackPanel Orientation="Horizontal">
        <TextBlock FontWeight="Bold" Text="{Binding LastName}" />
        <TextBlock Text=", " />
        <TextBlock Text="{Binding FirstName}" />
        <TextBlock Text=" " />
        <TextBlock Text="{Binding MiddleInitial}" />
      </StackPanel>
    </DataTemplate>
  </ItemsControl.ItemTemplate>
</ItemsControl>

 

方法2:

DataTemplate 包含一个 TextBlock;

TextBlock 的 Text 属性用 MultiBinding;

MultiBinding 绑定多个 属性,用 StringFormat 指定这些属性显示(拼接)的格式。

(这种方法对多样化的显示格式比较无力。如 Text 中部分要粗体,部分要常规)

 

XAML代码

<ComboBox>
  <ComboBox.ItemTemplate>
    <DataTemplate>
      <TextBlock>
        <TextBlock.Text>
          <MultiBinding StringFormat="{}{0}: {1}">
            <Binding Path="idregion"/>
            <Binding Path="description"/>
          </MultiBinding>
        </TextBlock.Text>
      </TextBlock>
    </DataTemplate>
  </ComboBox.ItemTemplate>
</ComboBox>

 

方法3:

DataTemplate 包含一个 TextBlock;

TextBlock 包含多个 Run;

一个属性绑定到一个 Run。

 

XAML代码

<ComboBox Name="cboRegion">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <TextBlock>
                <Run Text="{Binding idregion}" />
                <Run Text="{Binding description}" />
            </TextBlock>
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>

 

 

其它:

  • 有利用 Converter,处理多个绑定的属性,再显示这些属性“计算”后的值。

个人感觉太麻烦。当然也看使用场景。

 

  • 有专为显示目标值,而特设一个属性的。

这种方法可能在 MVVM 之类的设计模式中用得比较多。

分享到:
评论

相关推荐

    通用WPF主题控件包rubyer-wpf-master

    WPF提供了一个全面的、以XAML为基础的界面设计工具,支持丰富的图形渲染、数据绑定、事件处理等功能。然而,创建出吸引人的视觉外观往往需要大量的工作,这就是rubyer-wpf-master控件包的价值所在。 在这个2.0.0...

    WPF样式静态资源绑定

    这时,可以使用`MergedDictionaries`来合并多个资源字典: ```xml ``` 八、WpfApp4示例 在提供的文件名"WpfApp4"中,可能是一个简单的WPF应用程序示例,其中展示了如何使用静态资源绑定来管理样式。...

    WPF SDK - 数据绑定

    2. **ADODataSet**:此示例演示如何使用WPF绑定到ADO.NET数据集。通过数据集,你可以直接从数据库获取数据并将其显示在UI上,同时支持数据操作如添加、删除和修改。 3. **ShowDataWithoutBinding**:此基础示例对比...

    WPF-Diagram-Designer:WPF图表设计器源代码

    在WPF-Diagram-Designer中,图表元素和它们的属性可能与后台数据模型进行绑定,从而实现数据驱动的图表设计。 4. **图形与形状**: 设计器中的图形元素通常由Path、Rectangle、Ellipse等几何形状构成。开发者可以...

    WPF基础知识绑定、样式、依赖属性教程

    **WPF基础知识绑定、样式、依赖属性教程** WPF(Windows Presentation Foundation)是微软.NET Framework中的一个组件,用于构建丰富的、交互式的用户界面。在WPF中,数据绑定、样式和依赖属性是三个核心概念,它们...

    WPF-XamlPad程序

    例如,一个ListBox可能包含多个数据项,这些数据项并不直接在VisualTree中,但它们在LogicalTree中作为ListBox的子项存在,因为它们是通过数据绑定关联的。 在WPF中,**Template**是一种强大的机制,用于自定义控件...

    dotnet-WPFMath是一个NET库用于为WPF框架提供LaTeX排版样式数学公式渲染

    2. 创建渲染控件:在WPF XAML文件中,添加一个`MathTextBlock`控件,它是WPF-Math提供的专门用于显示LaTeX公式的控件。 3. 设置LaTeX源:通过绑定或代码-behind设置`MathTextBlock`的`Tex`属性,传递LaTeX字符串。 ...

    WPF实现同线程绑定,跨线程绑定

    在处理多线程应用时,由于WPF的UI元素只能在创建它们的UI线程(主线程)中进行操作,因此需要正确处理线程间的通信,确保数据更新不会引发线程安全问题。本篇将详细介绍如何在WPF中实现同线程绑定以及跨线程绑定。 ...

    wpf-layout-sample 布局的一些示例

    每个单元格可以包含一个或多个元素,元素可以通过`Row`和`Column`属性定位。Grid允许动态调整大小,是构建复杂布局的理想选择。 3. Canvas:Canvas提供绝对定位功能,允许开发者精确控制每个子元素的位置。通过`Top...

    WPF-Ribbon

    - Ribbon界面通常包含多个主要区域:快速访问工具栏(QAT)、主选项卡、上下文选项卡和 backstage 视图。QAT允许用户自定义常用命令,主选项卡分组相关功能,上下文选项卡则根据当前操作显示相关命令,backstage...

    wpf--ListBox分组-排序

    例如,如果你的数据源是一个包含多个类别的商品列表,你可以按照类别进行分组。以下是一个简单的示例: ```xml ``` 这里假设你的数据源中的每个产品都有一个类别属性(Category),并且你的...

    WPF-MVVM编程

    对于初学者来说,这提供了一个很好的学习实例,涵盖了UI设计、业务逻辑和数据管理等多个方面。而对于更高级的开发者,它可以作为一个起点,进一步探索WPF的高级特性,如数据模板、动画效果、依赖属性等。

    Fast-learning-WPF-master.zip

    9. **依赖属性**:这是WPF中一个关键的特性,允许属性间建立依赖关系,并且支持数据绑定、动画和属性变更通知。 10. **MVVM(Model-View-ViewModel)**架构:WPF非常适合采用MVVM设计模式,将业务逻辑、数据和用户...

    数据绑定—wpf

    当未明确指定绑定源时,会沿着逻辑树向上查找DataContext,使得多个UI元素可以共享同一数据源。 5. **创建数据绑定** - **代码中创建**:通过创建Binding对象,设置其属性,然后应用到UI元素的DependencyProperty...

    WPF-MVVM CRUD

    1. **创建数据模型(Model)**:定义一个或多个类来表示应用中的数据实体。例如,如果我们在开发一个联系人管理应用,可能会有一个`Contact`类,包含`Name`、`Email`等属性。 2. **定义视图模型(ViewModel)**:...

    wpf-资源的使用-resource

    - `MergedDictionaries`属性允许将多个资源字典合并,实现资源共享。 2. **应用资源(Application Resources)** - 在`App.xaml`文件中定义的资源被视为应用级别的资源,全局可见,可供整个应用程序使用。 - ...

    WPF-GUI-Localizer-源码.rar

    - 资源文件夹,包含多个.resx文件,每个文件对应一种语言。 - 入口点代码,负责初始化和切换CultureInfo,以及加载相应的资源。 - 可能存在一个本地化类或服务,用于管理资源加载和切换。 **总结** WPF-GUI-...

    WPF-AdornerPopup.zip

    AdornerPopup的实现可能会包含多个类和文件,如AdornerPopup.cs、AdornerPopupStyle.xaml等。 通过分析和学习这个源码,开发者可以深入理解WPF的Adorner机制,以及如何结合Popup实现更复杂的界面效果。这对于创建...

    WPF后台动态绑定ListView数据源

    在Windows Presentation Foundation (WPF) 中,ListView是一个强大的控件,用于显示一组可滚动的数据集。它可以被用来呈现各种类型的数据,并且具有高度的自定义能力。本示例重点介绍了如何在后台动态地绑定ListView...

    C# WPF - 音频视频播放器

    在Windows Presentation Foundation(WPF)框架下,开发一个音频视频播放器是一项挑战性的工作,因为它涉及到多媒体处理、用户界面设计以及事件处理等多个方面。C#作为.NET Framework的主要编程语言,与WPF结合提供...

Global site tag (gtag.js) - Google Analytics