Реализовать Master / Detail в Silverlight? - PullRequest
0 голосов
/ 19 декабря 2011

У меня есть 2 таблицы List, отношение ListItem формы один ко многим (один список имеет много элементов списка).Я хочу реализовать основной / подробный вид с использованием ListBoxs и источников данных домена.Ниже приведен мой XAML, но проблема в подробной таблице (ListItem) не отображает значение выбранной строки в основной таблице (таблица списка). Я связал подробный список (ListBoxValues) со свойством SelectedItem главного списка (список списков)).

<riaControls:DomainDataSource AutoLoad="True" Height="0"  Name="listDomainDataSource" QueryName="GetListQuery" Width="0">
            <riaControls:DomainDataSource.DomainContext>
                <my:Rule_DBDomainContext />
            </riaControls:DomainDataSource.DomainContext>
        </riaControls:DomainDataSource >

<StackPanel Orientation="Horizontal" Grid.Row="2" Height="600" >
                            <ListBox Name="ListBoxNames" Margin="82,0,20,0" Width="200"
                            ItemsSource="{Binding Data,ElementName=listDomainDataSource}">
                                <ListBox.ItemTemplate>
                                    <DataTemplate>
                                        <StackPanel>
                                            <TextBlock Name="listNameTxt" Text="{Binding Name, Mode=TwoWay}"></TextBlock>
                                        </StackPanel>
                                    </DataTemplate>
                                </ListBox.ItemTemplate>
                            </ListBox>
                            <ListBox Name="ListBoxValues" Margin="82,0,20,0" Width="200" ItemsSource="{Binding SelectedItem.ListItem,ElementName=ListBoxNames}" >
                                <ListBox.ItemTemplate>
                                    <DataTemplate>
                                        <StackPanel>
                                            <TextBlock Name="listValueTxt" Text="{Binding Item, Mode=TwoWay}"></TextBlock>
                                        </StackPanel>
                                    </DataTemplate>
                                </ListBox.ItemTemplate>
                            </ListBox>

                        </StackPanel>

PS:

Я провел некоторую отладку и обнаружил, что свойство ListItem в классе List не заполнено!Я не знаю почему, это всегда ноль,

1 Ответ

0 голосов
/ 19 декабря 2011

Я решил это, просто добавив новый источник domaindatasource и связав его фильтр со свойством masterite listbox selecteditem следующим образом

<riaControls:DomainDataSource AutoLoad="True" Height="0"  Name="listItemsDomainDataSource" QueryName="GetListItemQuery" Width="0" FilterOperator="And">
            <riaControls:DomainDataSource.DomainContext>
                <my:Rule_DBDomainContext />
            </riaControls:DomainDataSource.DomainContext>
            <riaControls:DomainDataSource.FilterDescriptors>
                <riaControls:FilterDescriptor PropertyPath="ListId" Operator="IsEqualTo" Value="{Binding ElementName=ListBoxNames, Path=SelectedItem.id}" />
            </riaControls:DomainDataSource.FilterDescriptors>
        </riaControls:DomainDataSource >
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...