2012-04-26 21 views
0

以下のコードでは、リストボックスからSelectedItemを取得し、その内容を2番目のDataGridに表示します。Silverlight Datagridにデータが表示されないのはなぜですか?

ただし、リストボックスをコメントアウトされたデータグリッドに置き換えると、データはもう2番目のデータグリッドに表示されなくなります。なぜ私はリストボックスを使用すると、2番目のデータグリッドにデータが表示されるかについての理由は何ですか?

<ListBox Margin="5" Grid.Row="2" Grid.ColumnSpan="2" ItemsSource="{Binding NonNavBarPricerLayouts}" SelectedItem="{Binding SelectedNonNavBarItem, Mode=TwoWay}"> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <TextBlock Text="{Binding Name}"/> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 

    <!--<data:DataGrid Margin="5" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" ItemsSource="{Binding NonNavBarPricerLayouts}" SelectedItem="{Binding SelectedNonNavBarItem, Mode=TwoWay}" 
        AutoGenerateColumns="False" CanUserResizeColumns="True" CanUserSortColumns="True" 
        SelectedIndex="-1" 
        GridLinesVisibility="None"> 
     <data:DataGrid.Columns> 
      <data:DataGridTemplateColumn Header="Pricer Layout" Width="150"> 
       <data:DataGridTemplateColumn.CellTemplate> 
        <DataTemplate> 
         <TextBlock Text="{Binding Name}"/> 
        </DataTemplate> 
       </data:DataGridTemplateColumn.CellTemplate> 
      </data:DataGridTemplateColumn>    
     </data:DataGrid.Columns> 

    </data:DataGrid>--> 



    <TextBlock Grid.Row="3" Grid.ColumnSpan="2" Margin="5,5,5,0" Text="Selected pricer layout contents:"/> 
    <data:DataGrid Name="dgPricerLayoutDetail" Grid.ColumnSpan="2" Grid.Row="4" Margin="5" ItemsSource="{Binding SelectedNonNavBarItem.PricerDetails}" 
        AutoGenerateColumns="True" CanUserResizeColumns="False" 
        SelectedIndex="-1" 
        IsReadOnly="True" GridLinesVisibility="None"> 

    </data:DataGrid> 
+0

投稿したものの外見から、別の要素にバインドしているように見えます。リストボックスでは、ItemsSourceは** NonNavBarPricerLayouts **をバインドしていますが、DataGridではItemsSourceを** SelectedNonNavBarItem.PricerDetails **に変更しました。名前は空でなければなりません。何も選択されていません。 ;) –

+0

ListBoxとコメントアウトされたDataGridが同じものにバインドされます。コードをそのまま実行すると、詳細が下部データグリッドに表示されます。私がListBoxをコメントアウトし、コメントアウトされたdataGridのコメントを外すと、データはボトムデータグリッドに表示されません – caa

+1

それはSL4で動作しますので、私の推測はSL3のバグです。 SL3を使用しているIm – caa

答えて

1

他の誰かがこの問題を抱えている場合に備えて、これを回答として投稿しています。私は何が間違っていたのか理解しようと約4時間を費やしました。私はカアに非常によく似た状況にあった。

Silverlight 3では、1つのDataGridから別のDataGridのItemsSourceとしてバインドされたSelectedItemによって、そのアイテムと共にItemsSourceとして表示されるデータはありません。 2番目をListBoxに切り替えると、アイテムが表示されます。私はこの記事を偶然見つけてSilverLight 4では動作するが3では動作しないというCaaのコメントを見たときまで、私が間違っていたことを理解することができなかった。私のレガシープロジェクトはSilverLight 3プロジェクトであり、

関連する問題