第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MapsItemControl 和 ObservableCollection 行為

MapsItemControl 和 ObservableCollection 行為

C#
長風秋雁 2022-07-23 09:17:12
我有下一個 MapsItemControl 模板來顯示地圖上的許多圖釘/項目。它綁定到 ObservableCollection,因為我希望它們被過濾以通過不同的選項顯示或隱藏。這是 Map 控件內 MapsItemControl 的 XAML 代碼。<Maps:MapItemsControl x:Name="mapSpotsItems">    <Maps:MapItemsControl.ItemTemplate>        <DataTemplate>            <StackPanel x:Name="spotPin" Visibility="{Binding isVisible}"                        Maps:MapControl.Location="{Binding geopoint}" Tag="{Binding ID}" ToolTipService.ToolTip="{Binding Description}"                         RenderTransformOrigin="0.5,1" Tapped="spotPin_Tapped">                 <StackPanel Orientation="Horizontal" Tag="{Binding ID}">                     <Grid>                         <!-- Karratua -->                         <Rectangle Width="25" Height="25" Fill="{StaticResource DarkGreyThemeColor}" Opacity="0.5"/>                         <Rectangle Width="25" Height="25" Fill="{x:Null}" Stroke="Black" StrokeThickness="0.5" />                         <!-- Borobila -->                         <Image Source="{Binding MainTag}" Height="20" Width="20" HorizontalAlignment="Center" VerticalAlignment="Center"/>                      </Grid>                      <StackPanel Background="{StaticResource DarkGrey75ThemeColor}">                          <TextBlock Text="{Binding Title}" Margin="5,0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="50" MaxLines="2" TextWrapping="Wrap" TextTrimming="CharacterEllipsis" Style="{StaticResource BaseTextBlockStyle}" FontSize="11" Foreground="{StaticResource LightGreyThemeColor}" LineHeight="11"/>                       </StackPanel>                   </StackPanel>                   <Rectangle Width="2" Height="10" Fill="Black" StrokeThickness="0" StrokeEndLineCap="Triangle" />               </StackPanel>           </DataTemplate>       </Maps:MapItemsControl.ItemTemplate>   </Maps:MapItemsControl>我有一些與之相關的問題。
查看完整描述

1 回答

?
慕慕森

TA貢獻1856條經(jīng)驗 獲得超17個贊

當我更改 ObservableCollection 時,例如 isVisible 值(通過過濾器中的選擇顯示或隱藏,項目根本沒有改變。


Visibility是Enum但不是bool。您需要BoolToVisConverter為 xaml 制作。


public class BoolToVisConverter : IValueConverter

{

    public object Convert(object value, Type targetType, object parameter, string language)

    {

        return (value is bool && (bool)value) ? Visibility.Visible : Visibility.Collapsed;

    }


    public object ConvertBack(object value, Type targetType, object parameter, string language)

    {

        return value is Visibility && (Visibility)value == Visibility.Visible; 

    }

}

項目的創(chuàng)建(我有 2000-3000 個項目)非常緩慢,并且在平移地圖時移動有明顯的滯后。有什么方法可以讓它更愉快和響應更迅速嗎?


MapItemsControl與ListViewand不同GridView,它不支持UI虛擬化。為了性能,請避免一次渲染太多項目


最后一個問題,盡管我設置了 RenderTransformOrigin="0.5,1",但它就像我設置了 RenderTransformOrigin="0.0,0.0",從左上邊界渲染。


RenderTransformOrigin屬性不用于設置AnchorPoint。要設置正確的布局,您可以設置NormalizedAnchorPoint.


<maps:MapItemsControl.ItemTemplate>

    <DataTemplate>

        <Button x:Name="mapItemButton" Click="mapItemButton_Click" Background="Transparent">

            <StackPanel>

                <Border Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

                    <TextBlock Text="{Binding DisplayName}"/>

                </Border>

                <Image Source="{Binding ImageSourceUri}"

                           maps:MapControl.NormalizedAnchorPoint="{Binding NormalizedAnchorPoint}"

                           maps:MapControl.Location="{Binding Location}">

                    <Image.Transitions>

                        <TransitionCollection>

                            <EntranceThemeTransition/>

                        </TransitionCollection>

                    </Image.Transitions>

                </Image>

            </StackPanel>

        </Button>

    </DataTemplate>

</maps:MapItemsControl.ItemTemplate>

更多細節(jié)請參考官方代碼示例。


查看完整回答
反對 回復 2022-07-23
  • 1 回答
  • 0 關注
  • 111 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號