我是新來的數據綁定,所以也許這個問題似乎很愚蠢。 我使用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」時。我哪裏做錯了?或者可能呢?
在此先感謝您的答案。
對上selKaryawan財產的二傳手提高PropertyChanged事件!你拯救了我的一天。感謝:D – 2013-02-21 15:04:31