지도 지점 검색 용 페이지가 있습니다. 나는 사용자에게 국경을 보여주고 싶다. 이 경계선은 사용자를위한 정보를 포함합니다 (메시지 상자와 같은 것임). 내가 MVVM의 patern입니다을 사용WP7 타이머 콜백이 사용자 작업 중에 실행되지 않습니다.
...
내가 3 초 후 국경을 숨기려. 지도 컨트롤로 이동하기 전까지는 모든 것이 작동합니다 (경계가 3 초 후에 감춰짐). 그러면 국경이 결코 숨겨지지 않을 것입니다.
첨부 코드는 더 설명 할 것입니다 ...보기에서 내 XAML 코드의
부 : 뷰 모델에서 내 코드의
<Grid>
<my:Map
Margin="0,0,0,0"
x:Name="MainMap"
CredentialsProvider="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
Center="{Binding MapCenter, Mode=TwoWay}"
ZoomLevel="{Binding ZoomLevel, Mode=TwoWay}"
myMapViewModel:BindingHelpers.TileSource="{Binding CurrentMap}"
myMapViewModel:BindingHelpers.PointsSource="{Binding Points}"
myMapViewModel:BindingHelpers.CurrentPositionPushpin="{Binding CurrentGeoPosition}"
myMapViewModel:BindingHelpers.KmlPointSelectedCommand="{Binding ShowSelectedKmlPointCommand}"
Grid.Row="0"
CopyrightVisibility="Collapsed"
ZoomBarVisibility="Collapsed"
Padding="0"
>
<my:Map.Mode>
<MSPCMCore:MercatorMode/>
</my:Map.Mode>
<TextBlock
Grid.Row="0"
x:Name="MapNameTile"
Text="{Binding CurrentMapName}"
Opacity="0.5"
Style="{StaticResource PhoneTextNormalStyle}"
VerticalAlignment="Top"
HorizontalAlignment="Left"
Canvas.ZIndex="2"
Foreground="{StaticResource PhoneAccentBrush}"
/>
</my:Map>
<Border
Canvas.ZIndex="20"
Background="{StaticResource PhoneAccentBrush}"
Opacity="0.85"
Height="100"
Width="430"
VerticalAlignment="Top"
HorizontalAlignment="Center"
CornerRadius="15"
Padding="15"
Margin="0,25,0,0"
Visibility="{Binding IsInformationPanelVisible, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"
>
<TextBlock
Style="{StaticResource PhoneTextNormalStyle}"
TextWrapping="Wrap"
Text="{Binding InformationPanelText}"
/>
</Border>
부 :
public bool IsInformationPanelVisible
{
get
{
return this._isInformationPanelVisible;
}
set
{
if (this._isInformationPanelVisible == value)
{
return;
}
this._isInformationPanelVisible = value;
if (this._isInformationPanelVisible)
{
new Timer((state) =>
{
this.IsInformationPanelVisible = false;
}, null, 3000, 0);
}
DispatcherHelper.CheckBeginInvokeOnUI(() =>
{
RaisePropertyChanged("IsInformationPanelVisible");
});
}
}
내 질문은 : 사용자가 디스플레이를 터치하고지도를 움직이는 경우 작동하지 않는 이유는 무엇입니까?
디버깅 할 수 없습니다.
나는 테스트를 받았으며 Timer CallBack이 해고되지 않은 것으로 보인다.