标签: silverlight

MVVM中的数据应该存储在哪里?

我有这个使用 MVVM 的 Silverlight Prism 应用程序。该模型调用 WCF 服务并返回数据列表。

ViewModel 绑定到 View,所以 ViewModel 应该有一个 List 属性。

我应该在 MVVM 中保留 WCF 服务返回的数据吗?

List 属性是否应该使用其 getter 调用模型?其中模型具有返回存储在模型中的数据的 ReturnListOfData() 方法。

或者 ViewModel 是否在 Model 调用服务器完成后存储数据?


这是对MVVM 中的 WCF 或其他 Web 服务的调用哪里放置?

architecture silverlight wcf prism mvvm

0
推荐指数
1
解决办法
1561
查看次数

如何防止 ScrollViewer 使用 MouseWheel 事件

我正在构建用于在布局中缩放和平移的 SL 应用程序。一切正常,除了当我使用鼠标滚轮放大时,在一些缩放滚动条开始使用鼠标滚轮之后,我可以滚动而不是缩放。如果我将滚动条放在末尾或开头,我只能再次缩放。如何防止滚动查看器使用鼠标滚轮?我希望只能通过轮操作变焦。先感谢您!

这是我缩放内容时的 MouseWheel 方法代码:

protected override void OnMouseWheel(MouseWheelEventArgs e) 
    { 
        base.OnMouseWheel(e);             

        if (e.Delta > 0) 
        { 
            this.aniScaleX.To += 0.2; 
            this.aniScaleY.To += 0.2; 

            this.sbScale.Begin(); 
        } 
        else if (e.Delta < 0 && (this.aniScaleX.To > 1 && this.aniScaleY.To > 1)) 
        { 
            this.aniScaleX.To -= 0.2; 
            this.aniScaleY.To -= 0.2; 

            this.sbScale.Begin(); 
        } 

        Sizer.Width = Board.ActualWidth * (double)this.aniScaleX.To; 
        Sizer.Height = Board.ActualHeight * (double)this.aniScaleY.To; 
Run Code Online (Sandbox Code Playgroud)

silverlight scrollbar scrollviewer zooming

0
推荐指数
1
解决办法
3222
查看次数

Silverlight VB.Net 单行多重赋值

我是 Silverlight 的新手,以前曾在 VB.Net 中编写代码。现在我试图在单个语句中分配 RepeatButtons 的 Interval 值,但它设置为零。

rbtUp.Interval = rbtLeft.Interval = rbtCenter.Interval = rbtRight.Interval
= rbtDown.Interval = interval
Run Code Online (Sandbox Code Playgroud)

这在 c# 中工作正常,但在 vb.net 中无效。

vb.net silverlight variable-assignment

0
推荐指数
1
解决办法
1380
查看次数

MediaElement 在暂停模式下设置位置

我使用这种方法在我的MediaElement:

TimeSpan t = TimeSpan.FromSeconds(newSecond);
System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() =>
{
    mediaElement1.Position = TimeSpan.FromSeconds(newSecond);
});
Run Code Online (Sandbox Code Playgroud)

当用户播放视频然后暂停它并寻找新位置时,视频帧停留在前一帧。

我想知道是否有可能当我寻找新位置并且视频处于暂停模式时,帧将移动到新位置并且不会等到我再次按下播放键。

c# silverlight wpf windows-phone

0
推荐指数
1
解决办法
3562
查看次数

实体框架 - OutOfMemory异常

我正在开发一个Silverlight业务应用程序,并希望实现"多部分"上传,它将单个文件拆分为大小为4096KB的部分.要将这些部分从客户端上传到服务器,我使用的是WebClient(客户端)和通用处理程序(*.ashx,服务器端).

策略:在第一部分中,创建了一个Entity Framework类的新实例.该对象具有字段/属性"binary"(在SQL中它是varbinary(MAX),在Entity Framework中它是byte []).我将第一部分存储在属性"binary"中并执行SaveChanges().然后,处理程序将此新对象的ID(主键)返回给客户端.

除了我的文件的第二部分之外,对服务器的第二个请求包含在第一个请求之后返回的ID.在服务器上,我从数据库加载以前创建的对象并附加第二部分.

myobject.binary = myobject.binary.Concat(bytes).ToArray<byte>();
Run Code Online (Sandbox Code Playgroud)

myobject是先前创建的对象,字节是我想要附加到二进制属性的部分.

我重复这个"策略",直到整个文件上传到服务器.这适用于最大大小为~78MB的文件.对于大小约为83MB的文件,它是零星的.大小为~140MB的文件将在SaveChanges()中以OutOfMemory异常中止.

堆栈跟踪

at System.Object.MemberwiseClone()
at System.Array.Clone()
at System.Data.Common.CommandTrees.DbConstantExpression..ctor(TypeUsage resultType, Object value)
at System.Data.Mapping.Update.Internal.UpdateCompiler.GenerateValueExpression(EdmProperty property, PropagatorResult value)
at System.Data.Mapping.Update.Internal.UpdateCompiler.BuildSetClauses(DbExpressionBinding target, PropagatorResult row, PropagatorResult originalRow, TableChangeProcessor processor, Boolean insertMode, Dictionary`2& outputIdentifiers, DbExpression& returning, Boolean& rowMustBeTouched)
at System.Data.Mapping.Update.Internal.UpdateCompiler.BuildUpdateCommand(PropagatorResult oldRow, PropagatorResult newRow, TableChangeProcessor processor)
at System.Data.Mapping.Update.Internal.TableChangeProcessor.CompileCommands(ChangeNode changeNode, UpdateCompiler compiler)
at System.Data.Mapping.Update.Internal.UpdateTranslator.<ProduceDynamicCommands>d__0.MoveNext()
at System.Linq.Enumerable.<ConcatIterator>d__71`1.MoveNext()
at System.Data.Mapping.Update.Internal.UpdateCommandOrderer..ctor(IEnumerable`1 commands, UpdateTranslator translator)
at System.Data.Mapping.Update.Internal.UpdateTranslator.ProduceCommands()
at System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter)
at System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager …
Run Code Online (Sandbox Code Playgroud)

c# silverlight entity-framework out-of-memory

0
推荐指数
1
解决办法
1325
查看次数

在运行时获取图像的宽度和高度 - WP8

我正在使用Windows Phone 8应用程序.

我有一条通往图像的道路 - /Data/Images/image1.png.我能够在屏幕上显示此图像,但我想在渲染之前更改图像的宽度和高度.

这就是我在显示图像的方式 webbrowser control

webbrowser.Append("<img src=""+path+ width=\"250\" height=\"250\" style=\"vertical-align:middle\" alt=\"\"></img>"/>"
Run Code Online (Sandbox Code Playgroud)

在这里我设置宽度和高度,250x250但我想改变高度和宽度,因为一些图像不好看.

c# silverlight image windows-phone windows-phone-8

0
推荐指数
1
解决办法
805
查看次数

如何设置stackpanel的IsEnabled属性

我在程序上做这部分.我想将此堆栈面板上的UIElelemnts(radiobuttons)设置为部分可见,因此我想要任何可以使stackpanel属性IsEnabled设置为False的任何等效属性(任何quivalent属性或任何其他方式来实现此目的,因为stackpanel不支持IsEnabled ).

或者,如果有可能有另一个可能是stackpanel的父级并且还支持IsEnabled属性的conntainer.(当我在stackpanel上设置它们时,请不要建议为循环中的每个单选按钮设置IsEnabled为false因为我不能这样做,因为代码中的当前情况我想要一些可以设置为IsEnabled的大容器).

.net c# silverlight stackpanel radio-button

0
推荐指数
1
解决办法
1342
查看次数

Silverlight真的可以解决浏览器兼容性问题吗?

我正在计划Web应用程序并将Silverlight视为开发平台.它有助于解决浏览器兼容性问题吗?该应用程序仅用于桌面(无移动设备).

silverlight web

0
推荐指数
1
解决办法
66
查看次数

组合框结合在跌落时断裂

我有一个 在我的表格上ComboBox绑定的DependencyProperty.我可以通过Button点击向这个属性添加项目,它会将它们添加到ComboBox.但是,一旦我放下ComboBox绑定断裂.我仍然可以向该属性添加项目,但我ComboBox永远不会更新以显示它们.

例如

  • 单击Button三次
  • ComboBox下来-这将有三个项目
  • 再点击Button另外三次
  • ComboBox下来-它仍然将只有三个项目

再次启动应用程序并:

  • 单击Button六次
  • ComboBox下来-这将有六个项目

XAML

<Grid x:Name="LayoutRoot"
      Background="White">
    <ComboBox Name="combTest"
              ItemsSource="{Binding Users}"
              Width="50"
              Height="50"
              HorizontalAlignment="Left" />
    <Button Click="ButtonBase_OnClick"
            Width="50"
            Height="50"
            HorizontalAlignment="Right" />
</Grid>
Run Code Online (Sandbox Code Playgroud)

代码背后

public MainPage()
{
    InitializeComponent();
    this.DataContext = this;
}

public static readonly DependencyProperty UsersProperty = DependencyProperty.Register(
 "Users", typeof (List<string>), typeof (MainPage), new PropertyMetadata(new List<string>()));

public List<string> Users …
Run Code Online (Sandbox Code Playgroud)

c# data-binding silverlight

0
推荐指数
1
解决办法
28
查看次数

适用于Windows Phone 8.1的SQLITE数据库(Silverlight)

我正在使用SilverLight为Windows Phone 8.1开发一个应用程序,因为我使用sqlite存储一些产品的详细信息,但我想知道如何永久存储该数据意味着当我关闭模拟器时数据丢失.所以请告诉我如何存储这些数据.

sqlite silverlight windows-phone-8.1

0
推荐指数
1
解决办法
100
查看次数