2012-12-18 54 views
0

我有我的查看頁面與GridView控件。在網格項目使用彈出Childwindows與下面的XAML代碼編輯:Silverlight DataForm + ChildWindows + MVVM:ComboBox的DataField不會被填充

 <toolkit:DataForm.EditTemplate> 
      <DataTemplate> 
       <StackPanel> 

        <toolkit:DataField Label="Avisar a: "> 
         <ComboBox ItemsSource="{Binding Path=Sucursales}"/> 
        </toolkit:DataField> 

        <toolkit:DataField Label="Mensaje:"> 
         <TextBox Text="{Binding mensaje, Mode=TwoWay}"/> 
        </toolkit:DataField> 

        <toolkit:DataField Label="Estado: "> 
         <ComboBox ItemsSource="{Binding Path=EstadosMensaje}"/> 
        </toolkit:DataField> 

       </StackPanel> 
      </DataTemplate> 
     </toolkit:DataForm.EditTemplate> 

    </toolkit:DataForm> 

的DataContext到這個彈出注射視圖構造從父視圖如下:

AlertaForm frm = new AlertaForm(DataContext as AlertasViewModel); 
frm.Show(); 

//ChildWindows constructor 
public AlertaForm(AlertasViewModel viewModel){ 
    InitializeComponent(); 
    DataContext = viewModel; 
} 

正如你所看到的,ChildWindows和父視圖共享相同的ViewModel。 問題是ComboBox控件不會被填充。 TextBox字段綁定正確,它們顯示來自DataContext屬性的值,這是令人困惑的,因爲這證明DataForm識別傳遞給ChildWindows AlertaForm的ViewModel。 顯然我在這裏失去了一些東西,但無法弄清楚是什麼。 由於

回答

0

我最終扔掉用戶控制與數據形一起 與公共控件ChildWindows粘連。看來DataForm對於 複雜場景不太好

相關問題