2013-02-21 32 views
0

我是新來的數據綁定,所以也許這個問題似乎很愚蠢。 我使用Xceed WPF工具包的DataGridControl,我從http://wpftoolkit.codeplex.com/得到它我認爲它與使用中的DataGrid控件非常相似。我打算將DataGridControl SelectedItem綁定到Grid內容。相關的控制和對象變量是:三路綁定(兩路綁定)。可能嗎?

GridKaryawan --> DataGridControl 
Grid --> without name, for displaying details 
karyawans --> ObservableCollection<BiodataKaryawan> --> collection of business objects 
selKaryawan --> (intended to be) the selected business object 
* The business object "BiodataKaryawan" has already implemented INFC. 

到目前爲止,我一直在做的(只顯示相關部分):

<xcdg:DataGridControl x:Name="GridKaryawan" ItemsSource="{Binding Path=karyawans}" ReadOnly="True" 
         SelectedItem="{Binding Path=selKaryawan, Mode=TwoWay}"> 
    .... 
    .... 
</xcdg:DataGridControl> 

在後面的代碼:

public ObservableCollection<BiodataKaryawan> karyawans { get; set; } 
    public BiodataKaryawan selKaryawan { get; set; } 

而在網格:

<Grid DataContext="{Binding Path=selKaryawan, Mode=TwoWay}"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto" /> 
     <ColumnDefinition /> 
     .... 
     .... 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="Auto"/> 
     .... 
     .... 
    </Grid.RowDefinitions> 

    <Label Grid.Row="0">Nama:</Label> 
    <Label Grid.Row="1">Panggilan:</Label> 
    .... 
    .... 

    <TextBox Grid.Column="1" Grid.Row="1" x:Name="txtNama" Text="{Binding Nama}"/> 
    <TextBox Grid.Column="1" Grid.Row="2" x:Name="txtPanggilan" Text="{Binding Panggilan}" /> 
    .... 
    .... 
</Grid> 

我已經成功將DataGridControl.SelectedItem綁定到網格。但是我想在後面的代碼中使用「selKaryawan」對象來綁定它們,因爲表單還將支持創建新的「BiodataKaryawan」,並且我打算使用「Create New」按鈕爲selKaryawan分配一個新的BiodataKaryawan對象。 但綁定失敗。當我在數據網格中選擇一行時,細節沒有顯示爲當我將其綁定到「GridKaryawan.SelectedItem」時。我哪裏做錯了?或者可能呢?

在此先感謝您的答案。

回答

0

我認爲你需要執行INotifyPropertyChanged在你的代碼隱藏在

+0

對上selKaryawan財產的二傳手提高PropertyChanged事件!你拯救了我的一天。感謝:D – 2013-02-21 15:04:31