3

InfoWindow にスクロールバーを表示するのに問題があります。コードは以下です。どんな助けでも大歓迎です。

XAML:

<DataTemplate x:Key="MyFeatureLayerInfoWindowTemplate">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <ItemsControl ItemsSource="{Binding Keys}" Grid.Column="0" />
        <ItemsControl ItemsSource="{Binding Values}" Grid.Column="1" />
    </Grid>
</DataTemplate>

<esri:InfoWindow x:Name="MyInfoWindow"
                 CornerRadius="20"
                 ContentTemplate="{StaticResource MyFeatureLayerInfoWindowTemplate}"
                 Map="{Binding ElementName=MyMap}"
                 MouseLeftButtonUp="MyInfoWindow_MouseLeftButtonUp" 
                 ScrollViewer.VerticalScrollBarVisibility="Visible"
                 ScrollViewer.HorizontalScrollBarVisibility="Visible"
                 Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"
                 MaxHeight="200"
                 MaxWidth="200"/>

C#:

if (clickpoint != lastPoint)
{
    MyInfoWindow.Anchor = clickpoint;
    MyInfoWindow.Content = e.Graphic.Attributes;
    MyInfoWindow.IsOpen = true;
    lastPoint = clickpoint;
}

私が見ているものの写真:

ここに画像の説明を入力

コンテンツは InfoWindow に表示されますが、スクロールバーがどこにもありません。単純なことだといいのですが、すべてを試したような気がします。前もって感謝します。

4

1 に答える 1

1

これを試して

<DataTemplate x:Key="MyFeatureLayerInfoWindowTemplate">
  <ScrollViewer HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Auto">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <ItemsControl ItemsSource="{Binding Keys}" Grid.Column="0" />
        <ItemsControl ItemsSource="{Binding Values}" Grid.Column="1" />
    </Grid>
  </ScrollViewer>
</DataTemplate>

つまり、グリッドを ScrollViewer 内にラップします

于 2013-07-09T09:27:09.240 に答える