2013-03-31 2 views
0

ListBox에 표시 할 데이터 집합을 가져 오려고합니다. 여기가 내가 지금까지 가지고 무엇을 :WPF 데이터 집합에 ListBox 바인딩

XAML

<Window x:Class="FilterDemo.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="clr-namespace:FilterDemo" 
    Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded_1" > 
<Window.Resources> 
    <local:FilterDemoBackEndDataSet x:Key="FilterDemoBackEndDataSet"/> 
    <CollectionViewSource x:Key="cLIENTSViewSource" Source="{Binding CLIENTS, Source={StaticResource FilterDemoBackEndDataSet}}"/> 
</Window.Resources> 

<Grid> 
    <StackPanel Grid.Column="1" Background="#c4d9f9" > 
     <DockPanel HorizontalAlignment="Left" Height="20" Width="220" Margin="10,5,5,5"> 
      <TextBox Name="txtSearch" Height="20" Width="160" DockPanel.Dock="Left" /> 
      <Button Name="cmdFilter" Height="20" Width="20" Background="Black" DockPanel.Dock="Right"/> 
     </DockPanel> 

     <ListBox Name="lstAccountNo" Height="550" Width="200" HorizontalAlignment="Left" DisplayMemberPath="AccountNo" ItemsSource="{Binding}" 
          Margin="10,5,5,5" SelectedItem="{Binding AccountNo}" IsSynchronizedWithCurrentItem="True" /> 
    </StackPanel> 
</Grid> 

Code behind

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.Input; 
using System.Windows.Media; 
using System.Windows.Media.Imaging; 
using System.Windows.Navigation; 
using System.Windows.Shapes; 

namespace FilterDemo 
{ 
    /// <summary> 
    /// Interaction logic for MainWindow.xaml 
    /// </summary> 
    public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 
     } 

     private void Window_Loaded_1(object sender, RoutedEventArgs e) 
     { 
      FilterDemo.FilterDemoBackEndDataSet FilterDemoBackEndDataSet = ((FilterDemo.FilterDemoBackEndDataSet)(this.FindResource("FilterDemoBackEndDataSet"))); 
      // Load data into the table CLIENTS. You can modify this code as needed. 
      FilterDemo.FilterDemoBackEndDataSetTableAdapters.CLIENTSTableAdapter FilterDemoBackEndDataSetCLIENTSTableAdapter = new FilterDemo.FilterDemoBackEndDataSetTableAdapters.CLIENTSTableAdapter(); 
      FilterDemoBackEndDataSetCLIENTSTableAdapter.Fill(FilterDemoBackEndDataSet.CLIENTS); 
      System.Windows.Data.CollectionViewSource cLIENTSViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("cLIENTSViewSource"))); 
      cLIENTSViewSource.View.MoveCurrentToFirst(); 
     } 
    } 
} 

내가 FilterDemoBackEnd라는 데이터 집합을 가지고 테이블은 Clients라고하고이 필드를 AccountNo을했다. 위 코드를 실행하면 창이 열리지 만 항목이 표시되지 않습니다.

스레드를 연결하는 데 필요한 답변이 없으므로 인터넷에서이 문제를 해결하려고합니다.

XAML이 어렵습니다.

안부

답변

0

MainWindow를에 데이터 그리드를 드래그 한 다음 삭제하여 그것을 밖으로 정렬. 나는 이것이 어떻게 도왔는지 모르지만 그 트릭을했다.