我有一个地图控件,地图项绑定如下:
<maps:MapItemsControl ItemsSource="{Binding MapObjects}">
<maps:MapItemsControl.ItemTemplate>
<DataTemplate>
<Grid
maps:MapControl.Location="{Binding Location}"
maps:MapControl.NormalizedAnchorPoint="{Binding AnchorPoint}" >
<Grid.Transitions>
<TransitionCollection>
<EntranceThemeTransition
FromVerticalOffset="{Binding VerticalOffset}"
FromHorizontalOffset="{Binding HorizontalOffset}" />
</TransitionCollection>
</Grid.Transitions>
...
</Grid>
</DataTemplate>
</maps:MapItemsControl.ItemTemplate>
</maps:MapItemsControl>
Run Code Online (Sandbox Code Playgroud)
我想要实现的是让地图项目有一些不错的动画,所以它们不会出现在任何地方......特别是我希望它们在朝向地图中心的方向上滑动到位.
但是这个代码似乎不起作用...... Binding甚至没有为它们的两个属性"调用" EntranceThemeTransition,它们保留了它们的默认值,以便每个地图项从右边滑入.
此外,当我将Binding语句更改为我的ViewModel中不存在的某个属性时,FromVerticalOffset="{Binding NonExistentProperty}没有错误指示通常会发生这种情况,并且看起来像这样:Error: BindingExpression path error: 'NonExistentProperty' property not found on 'IMS_Mobile.ViewModels.MapViewModel+MapItem...'
有人可以帮忙吗?谢谢.
我正在尝试调整使用TransactionScopeOracle 并与 Oracle 一起使用的 ac# 代码,以便也与 SQLite 一起使用。我的代码的结构方式是,在访问 SQLite 数据库的事务范围内调用的每个方法都会创建自己的SQLiteConnection对象。
现在我在尝试打开TransactionScope块内的第二个连接时遇到了问题。我SQLiteConnection通过将它们包装在 using 语句中或调用Disposefinally 块来小心地正确处理所有未使用的对象。无论我做什么,第二次调用都会SQLiteConnection.Open在数据库被锁定异常一段时间后超时
。
示例代码:
using(var transaction = new TransactionScope(TransactionScopeOption.Required))
{
using(var connection1 = new SQLiteConnection(_connectionString))
{
connection1.Open();
... // Do stuff with the open connection
} // Closes the connection
using(var connection2 = new SQLiteConnection(_connectionString))
{
// database locked exception
connection2.Open();
...
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我对这个问题的所有发现都在这篇文章中:http : //elegantcode.com/2010/07/02/using-transactionscope-with-sqlite/它说:
即使在处理第一个连接时,TransactionScope 也持有独占写入器锁。因为第一个连接不能完全关闭自身,打开第二个连接会导致锁定错误。
不幸的是,这篇文章没有提供任何解决方法。我很愿意坚持使用TransactionScope由于具有传递 …