none
Привязка в ListView вложенного в ListBox RRS feed

  • Общие обсуждения

  • Есть ListView у него привязка к коллекции всё работает. Два поля. Одно поле изменяется редко, второе часто. Второе поле как бы вложено в первое.

    Решил не дублировать первое поле а вынести его в Binding вышележащего уровня. Так сказать объединить.

    Сейчас:

    Собака Жучка

    Собака Шарик

    Собака Тузик

    Хочу сделать:

    Собака

    Жучка

    Шарик

    Тузик

    Собака вынести привязкой к списку в ListBox

    А имена запихать в в ListView который является Item - ом для ListBox (ну или вместо ListBox - ListView верхнего уровня)

    Вопрос:

    Решил просто проверить как будет привязка работать просто когда вложу один ListView в другой

    Но привязка пропала. Почему?


    Спасибо

    15 марта 2015 г. 17:01

Все ответы

  • Я искренне пытался понять, что вы хотите сделать, но к сожалению не смог )))

    VB.Net - WPF, WinRT, WP

    16 марта 2015 г. 8:06
    Отвечающий
  • Было так

            <ListView x:Name="ListViews" Style="{StaticResource ResourceKey=ListViewStyle}" ItemContainerStyle="{StaticResource ResourceKey=ListViewItemStyleLeft}" Grid.ColumnSpan="3" HorizontalAlignment="Stretch" Margin="20,0,30,0" Grid.RowSpan="2" >
                    <ListView.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Vertical">
                                <StackPanel Orientation="Vertical" Margin="0,5" Grid.Row="2">
                                    <StackPanel Orientation="Horizontal">
                                        <TextBlock Text="{Binding Text}" FontSize="16" Foreground="Black"/>
                                        <TextBlock Text="{Binding Info}" FontSize="16" Foreground="Black"/>
                                    </StackPanel>
                                </StackPanel>
                            </StackPanel>
                        </DataTemplate>
                    </ListView.ItemTemplate>
                </ListView>


                ListViews.ItemsSource = null;
                _ocData = _cb.LoadBaseData();
                ListViews.ItemsSource = _ocData;

    Стало надо так

    <ListView>

    <ListView.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Vertical">
                                <TextBlock Text="{Binding Text}" FontSize="16" Foreground="Black"/>

    <ListView x:Name="ListViews" Style="{StaticResource ResourceKey=ListViewStyle}" ItemContainerStyle="{StaticResource ResourceKey=ListViewItemStyleLeft}" Grid.ColumnSpan="3" HorizontalAlignment="Stretch" Margin="20,0,30,0" Grid.RowSpan="2" >
                    <ListView.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Vertical">
                                <StackPanel Orientation="Vertical" Margin="0,5" Grid.Row="2">
                                    <StackPanel Orientation="Horizontal">
                                                                            <TextBlock Text="{Binding Info}" FontSize="16" Foreground="Black"/>
                                    </StackPanel>
                                </StackPanel>
                            </StackPanel>
                        </DataTemplate>
                    </ListView.ItemTemplate>
                </ListView>

                            </StackPanel>
                        </DataTemplate>
                    </ListView.ItemTemplate>

    </ListView>

    Но привязка которая работала - отпала.


    Спасибо

    18 марта 2015 г. 18:05