0

初めまして、本当に初心者です。私は主に WinForm で作業していたので、WPF でのようなデータ バインディングについては聞いたことがありません。

ブログや MSDN から学ぼうとしましたが、理解できません。データ バインディングは、WPF に関する私の混乱の 1 つにすぎませんが、今すぐ理解する必要がある主要な事柄です。

これらのクラスを取得したとします: CustomerDL.vb (データ アクセス層) CustomerBL.vb (ビジネス層) FormCustomer.xaml (プレゼンテーション層)

私が今していることは、私がこれまでに学んだ唯一の概念です: DL -> BL -> PL.

これが私のPLです:

Public Class FrmEmployee2
    Public Sub New()
        InitializeComponent()

        MasterEmployeeBL = New MasterEmployeeBL
        Employees = MasterEmployeeBL.FetchAllEmployee()

        MainGrid.DataContext = Employees
    End Sub

    Private _employees As List(Of Employee)
    Public Property Employees() As List(Of Employee)
        Get
            Return _employees
        End Get
        Set(ByVal value As List(Of Employee))
            _employees = value
        End Set
    End Property

    Public MasterEmployeeBL As MasterEmployeeBL
End Class

そして、これは私の WPF です:

<dx:DXWindow x:Class="FrmFindEmployee2"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
    xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol"
    xmlns:dxd="http://schemas.devexpress.com/winfx/2008/xaml/docking"
    xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" 
    xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
    xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys"
    xmlns:local="clr-namespace:BMT_WPF"
    dx:ThemeManager.ThemeName="MetropolisDark"
    Title="Find Employee" Height="{Binding Source={x:Static SystemParameters.WorkArea}, Path=Height}" Width="658"
    WindowStartupLocation="CenterScreen" SizeToContent="Width">

    <Window.Resources>
        <ResourceDictionary>
            <local:BooleanToStatusConverter x:Key="BoolToStatusConv" />
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/BMT-WPF;component/Helpers/EditStyles.xaml" />    
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Window.Resources>

    <Grid x:Name="MainGrid" DataContext="{Binding Source=Employees}">
        <DockPanel>
            <dxg:GridControl ItemsSource="{Binding}" AutoPopulateColumns="True">

            </dxg:GridControl>
        </DockPanel>
    </Grid>
</dx:DXWindow>

Employees List を GridControl にバインドするにはこれで十分だと思いましたが、何も表示されません。

初心者の観点からWPFについて学ぶことができる場所について、誰かが良いリソースを指摘するのを助けることができますか?

長い投稿で申し訳ありません。乾杯 !:)

4

1 に答える 1

1

コードで 1 回、XAML で 1 回、MainGrid の DataContext を 2 回設定しました。この要素の XAML バインディングを削除することをお勧めします。

データ バインディングの基本的なチュートリアルについては、私が書いた次のブログ投稿を試してください。

http://www.scottlogic.co.uk/blog/colin/2012/04/everything-you-wanted-to-know-about-databinding-in-wpf-silverlight-and-wp7-part-one/

于 2013-01-09T06:37:58.437 に答える