0

以下のコードでは、リストボックスから SelectedItem を取得し、その内容を 2 番目のデータグリッドに表示します。

ただし、リストボックスをコメントアウトされたデータグリッドに置き換えると、データは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>
4

1 に答える 1

1

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

SilverLight 3 では、ある DataGrid から別の DataGrid の ItemsSource としてバインドされた SelectedItem により、ItemsSource としてのデータが表示されなくなります。2 つ目を ListBox に切り替えると、アイテムが表示されます。この投稿に出くわし、SilverLight 4 では機能するが 3 では機能しないというコメントを見るまで、自分が何を間違っていたのか理解できませんでした。私のレガシー プロジェクトは SilverLight 3 プロジェクトであり、それを 4 に変更すると修正されました。

于 2014-08-26T01:49:46.180 に答える