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é)請參考官方代碼示例。
- 1 回答
- 0 關注
- 111 瀏覽
添加回答
舉報