0

リストボックスで選択した項目 (画像) を他のコントロールに表示したいが、サイズは大きくしたい

私は2つのリストボックスと設定で試しましIsSynchronizedWithCurrentItem="True"たが、うまくいきません。以下のコードを見つけてください。

<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525" WindowStartupLocation="CenterScreen" 
    WindowState="Maximized">

    <Window.Resources>
        <XmlDataProvider x:Key="myXmlDataBase" XPath="/myXmlData">
            <x:XData>
                <myXmlData xmlns="">
                    <Item Name = "CoverSheet" SNo="1"  Type="GrpBX" Image="C:\Work\00288511851128436163\N12201_0003_003\00000003.tif"/>
                    <Item Name = "HCFA" SNo="2" Type="GrpBX" Image="C:\Work\00288511851128436163\N12201_0003_003\00000004.tif"/>
                    <Item Name = "HCFA" SNo="3" Type="GrpBX" Image="C:\Work\00288511851128436163\N12201_0003_003\00000004.tif"/>
                    <Item Name = "HCFA" SNo="4" Type="GrpBX" Image="C:\Work\00288511851128436163\N12201_0003_003\00000004.tif"/>
                    <Item Name = "HCFA" SNo="5" Type="GrpBX" Image="C:\Work\00288511851128436163\N12201_0003_003\00000004.tif"/>
                    <Item Name = "HCFA" SNo="6" Type="GrpBX" Image="C:\Work\00288511851128436163\N12201_0003_003\00000004.tif"/>
                    <Item Name = "HCFA_CC" SNo="7" Type="GrpBX" Image="C:\Work\00288511851128436163\N12201_0003_003\00000005.tif"/>
                    <Item Name = "FrontPage" SNo="8" Type="GrpBX" Image="C:\Work\00288511851128436163\N12201_0003_003\N12201_0003_003I00.tif"/>
                </myXmlData>
            </x:XData>
        </XmlDataProvider>
    </Window.Resources>


    <DockPanel LastChildFill="True"   DataContext="{Binding Source={StaticResource myXmlDataBase}}">


            <!--ItemsSource="{Binding Source={StaticResource myXmlDataBase},XPath=Item}"-->
            <ListBox Name="lv"  FontSize="12" Background="LightSteelBlue" ItemsSource="{Binding Source={StaticResource myXmlDataBase},XPath=Item}"      
            ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto" SelectionMode="Single"    
            DataContext="{Binding}" IsSynchronizedWithCurrentItem="True" DockPanel.Dock="Top" SelectedIndex="0" >

                <ListBox.ItemContainerStyle>
                    <Style TargetType="ListBoxItem">
                        <Style.Resources>
                            <!-- Background of selected item when focussed -->
                            <LinearGradientBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" StartPoint="0.5,0" EndPoint="0.5,1">
                                <GradientStop Color="#FFD9F4FF" Offset="0"/>
                                <GradientStop Color="#FF9BDDFB" Offset="1"/>

                            </LinearGradientBrush>
                            <!-- Background of selected item when not focussed -->
                            <LinearGradientBrush x:Key="{x:Static SystemColors.ControlBrushKey}" StartPoint="0.5,0" EndPoint="0.5,1">
                                <GradientStop Color="#FFEEEDED" Offset="0"/>
                                <GradientStop Color="#FFDDDDDD" Offset="1"/>
                            </LinearGradientBrush>
                        </Style.Resources>
                    </Style>
                </ListBox.ItemContainerStyle>
                <ListBox.ItemsPanel>
                    <ItemsPanelTemplate>
                        <VirtualizingStackPanel  Orientation="Horizontal" HorizontalAlignment="Stretch" Background="White" Width="Auto" Height="Auto" />
                    </ItemsPanelTemplate>
                </ListBox.ItemsPanel>
                <ListBox.ItemTemplate>
                    <!--Source="{Binding XPath=@Image}"-->
                    <DataTemplate>
                        <Viewbox Stretch="None"  HorizontalAlignment="Stretch" >
                            <Border BorderThickness="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" DataContext="{Binding}" BorderBrush="IndianRed"   Margin="0" Height="Auto">
                                <DockPanel>
                                    <Image 
                                    DockPanel.Dock="Top" Width="150" Margin="5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Height="Auto"  
                                    x:Name="Myimage" RenderOptions.BitmapScalingMode="HighQuality"  Source="{Binding XPath=@Image}">
                                    </Image>
                                    <Grid>
                                        <TextBlock Text="{Binding XPath=@SNo}" HorizontalAlignment="Center" FontWeight="Normal"   FontSize="13"  />
                                    </Grid>
                                </DockPanel>
                            </Border>
                        </Viewbox>
                    </DataTemplate>

                </ListBox.ItemTemplate>
            </ListBox>

        <ListBox Name="lv1"  FontSize="12" Background="LightSteelBlue" DataContext="{Binding ElementName=lv, Path=SelectedItems}" ItemsSource="{Binding}"     
            ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto" SelectionMode="Single" KeyUp="lv1_keyup"  >

            <ListBox.ItemsPanel>
                <ItemsPanelTemplate>
                    <DockPanel   LastChildFill="True" HorizontalAlignment="Stretch" Background="LightSteelBlue"  Width="Auto" Height="Auto" />
                </ItemsPanelTemplate>
            </ListBox.ItemsPanel>

            <ListBox.ItemTemplate>
                               <DataTemplate>
                    <Viewbox Stretch="None"  HorizontalAlignment="Stretch"  >
                               <Image 
                                    Width="150" Margin="5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Height="Auto"  
                                    x:Name="Myimage" RenderOptions.BitmapScalingMode="HighQuality" Source="{Binding}" >
                                </Image>
                    </Viewbox>
                </DataTemplate>

            </ListBox.ItemTemplate>
        </ListBox>


    </DockPanel>
</Window>

私は ** で試しましXmlDataProvider**たが、実際のシナリオでは、コレクションを通じて画像を取得します。コレクションから画像を取得する場合でも、同じソリューションを処理する必要があります

4

2 に答える 2