XmlDataProvider в ListBox - PullRequest
       5

XmlDataProvider в ListBox

0 голосов
/ 30 октября 2019

Как я могу получить выбранные элементы с содержимым XmlElement из ListBox?

Я пробовал разные комбинации, такие как EventTriggers и invokeCommandAction, но ни одна из них не работает. В моем предыдущем решении я передаю выбранные элементы с помощью кнопки в команде Parameters, но здесь я не могу добавить ее. Элементы списка получены из XmlDataProvider, который я использую Xpath для отображения только имени и описания. Когда элемент выбран, он должен быть позже перепакован в XmlDocument со всеми именами узлов

Вот ListBox

     <ListBox Foreground="#FFFFFF" Background="Transparent" BorderThickness="0" ScrollViewer.HorizontalScrollBarVisibility="Disabled"
             ScrollViewer.VerticalScrollBarVisibility="Visible" ItemsSource="{Binding}"  Margin="5,0,5,5"
             BorderBrush="{x:Null}" SelectionMode="Multiple" x:Name="XmlListBox" Height="450" Width="600" DataContext="{Binding Xml}">
        <ListBox.ItemContainerStyle>
            <Style TargetType="{x:Type ListBoxItem}">
                <Setter Property="IsHitTestVisible" Value="True"/>
            </Style>
        </ListBox.ItemContainerStyle>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Grid Height="50" Width="auto">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="800"/>
                        <ColumnDefinition Width="210"/>
                    </Grid.ColumnDefinitions>
                    <Border Grid.ColumnSpan="3" BorderThickness="0,0,0,1" Margin="0,0,0,0" BorderBrush="{DynamicResource NeonColor}" Opacity="0.7"/>
                    <StackPanel x:Name="StackPanel" Orientation="Horizontal" Grid.Column="0">
                        <Viewbox Height="40" HorizontalAlignment="Center" VerticalAlignment="Center">
                            <CheckBox x:Name="Checks" Style="{StaticResource CheckBoxStyle}" Margin="0,0,3,0" IsChecked="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}},Path=IsSelected}"/>
                        </Viewbox>
                        <TextBlock Text="{Binding XPath=TA_Name}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                        <TextBlock Text="; " VerticalAlignment="Center" HorizontalAlignment="Center"/>
                        <TextBlock Text="("  VerticalAlignment="Center" HorizontalAlignment="Center"/>
                        <TextBlock Text="{Binding XPath=Description}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                        <TextBlock Text=")" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                    </StackPanel>
                </Grid>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...