WPF listbox数据绑定

<Window x:Class="DemoDataTempPlate.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <DataTemplate x:Key="listboxDataTempPlateStyle">
            <Grid Margin="20,5,20,0">
                <Grid.RowDefinitions>
                    <RowDefinition/>
                    <RowDefinition/>
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="64"/>
                    <ColumnDefinition Width="180"/>
                    <ColumnDefinition Width="64"/>
                    <ColumnDefinition Width="180"/>
                </Grid.ColumnDefinitions>
                <TextBlock Grid.Row="0" Grid.Column="0" Text="姓名:"/>
                <TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding XPath=Name}"/>
                <TextBlock Grid.Row="0" Grid.Column="2" Text="年龄:"/>
                <TextBlock Grid.Row="0" Grid.Column="3" Text="{Binding XPath=Age}"/>
                <TextBlock Grid.Row="1" Grid.Column="0" Text="性别:"/>
                <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding XPath=Sex}"/>
            </Grid>
        </DataTemplate>

        <!--<Style TargetType="ListBoxItem">
            <Style.Triggers>
                <Trigger Property="ListBoxItem.IsSelected" Value="True">
                    <Setter Property="Background" Value="White"/>
                </Trigger>
            </Style.Triggers>
        </Style>-->

        <Style TargetType="ListBox">
            <Setter Property="ItemContainerStyle">
                <Setter.Value>
                    <Style TargetType="ListBoxItem">
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="ListBoxItem">
                                    <Border Background="{TemplateBinding Background}">
                                        <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                                      VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                                      TextBlock.Foreground="{TemplateBinding Foreground}"/>
                                    </Border>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </Setter.Value>
            </Setter>
        </Style>

        <XmlDataProvider x:Key="personInfo" Source="XMLFile1.xml" XPath="/personInformation"/>
    </Window.Resources>

    <Grid>
        <ListBox ItemsSource="{Binding Source={StaticResource personInfo},XPath=person}"
                 ItemTemplate="{StaticResource listboxDataTempPlateStyle}"/>
        <!--ItemTemplate="{StaticResource listboxDataTempPlateStyle}" Template="{StaticResource ct}" -->
    </Grid>
</Window>

  

新建XMLFile1.xml文件

<?xml version="1.0" encoding="utf-8" ?>
<personInformation>
  <person>
    <Name>张三</Name>
    <Age>20</Age>
    <Sex>女</Sex>
  </person>
  <person>
    <Name>李四</Name>
    <Age>20</Age>
    <Sex>男</Sex>
  </person>
  <person>
    <Name>王五</Name>
    <Age>20</Age>
    <Sex>女</Sex>
  </person>
</personInformation>

  

时间: 2024-08-06 16:03:08

WPF listbox数据绑定的相关文章

WPF 之 数据绑定

数据绑定需要: 后台必须要有与控件对应的类和相关的属性 在后台new 一个类的对象 在后台把控件的数据上下文设置为该对象. 在XAML中把要绑定的控件中Text =      "{Binding 属性 }" 现象:在界面中修改控件中的参数可以同时反映到后台的实例中去,但是直接修改后台的实例,对界面中的参数没有影响 原因:由于普通对象没有"通知我的属性变了"这么一种机制,所以改变对象的属性,界面不会变,但是界面改变是有TextChanged之类的事件的,所以改变界面可

WPF中数据绑定问题

在数据库中字段不区分大小写,可以页面是区分的,一开始以为不区分,可我从数据库查出了数据在前台就是不显示想了半天才发现的. <sdk:DataGrid FrozenColumnCount ="1" Margin="0,0,0,0" Name="dgList" AutoGenerateColumns="False" IsReadOnly="True"  GridLinesVisibility="

第5篇 WPF C# 数据绑定Model-View-ViewModel模式

第5篇  WPF C# 数据绑定Model-View-ViewModel模式 参考资料: John Sharp:<Microsoft Visual C# 2013 Step by Step> 周 靖 译:John Sharp<Visual C# 2012从入门到精通> 前言 Model-View-ViewModel模式即MVVM模式编程涉及五个文件: 1.MainWindow.xaml文件 UI界面文件 2.MainWindow.xaml.cs文件  UI架构文件 3.ViewMo

WPF listbox的分组研究

1. 初探GroupItem对象 2.ContainerStyle 与 GroupItem的绑定对象 3.Grouping 级联 WPF listbox的分组研究

wpf listbox 选中项 上移下移

原文:wpf listbox 选中项 上移下移 private void MoveUp_Click(object sender, RoutedEventArgs e) ?? ? ? ?{ ?? ? ? ? ? ?DataRowView rowView = this.listScrip.SelectedItem as DataRowView; ?? ? ? ? ? ?if (rowView == null) ?? ? ? ? ? ?{ ?? ? ? ? ? ? ? ?return; ?? ? ?

WPF的数据绑定详细介绍

数据绑定:是应用程序 UI 与业务逻辑之间建立连接的过程. 如果绑定正确设置并且数据提供正确通知,则当数据的值发生更改时,绑定到数据的视觉元素会自动反映更改. 数据绑定可能还意味着如果视觉元素中数据的外部表现形式发生更改,则基础数据可以自动更新以反映更改. 一.WPF数据绑定的概要 数据绑定:是应用程序 UI 与业务逻辑之间建立连接的过程. 如果绑定正确设置并且数据提供正确通知,则当数据的值发生更改时,绑定到数据的视觉元素会自动反映更改. 数据绑定可能还意味着如果视觉元素中数据的外部表现形式发生

WPF ListBox 在WinServer2012系统下的焦点样式无效的问题

今天刚刚在VM中安装成功server2012,将WPF项目在server2012上运行: 目标:屏蔽ListBox对象获得焦点后的背景:在XP.server2003.server2008.win7中测试都没有问题: 但是在server2012下测试,却发现之前的自定义Style根本不起作用,效果如下: 而我想要的效果是没有上面的背景,如下所示: 难道在Server2012下真的就不能自定义ListBoxItem焦点样式吗?

WPF ListBox 中使用网格布局

<Grid> <ListBox Height="181" HorizontalAlignment="Left" Margin="12,12,0,0" Name="listBox1" VerticalAlignment="Top" Width="687" UseLayoutRounding="False" Panel.ZIndex="2&qu

【C#】使用ADO .Net Entities Framework 与WPF ListBox控件绑定

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.I