我是Silverlight的新手,正在开发一个ASP.NET Web应用程序,它需要一个Silverlight项目来记录网络摄像头音频/视频流.
该解决方案包含一个包含业务实体的库项目,如[User],[BillingInfo]等,以及ASP .NET Web应用程序.
由于Silverlight不支持EF,如何在Silverlight中使用强类型实体对象?我不需要访问Context对象,但需要访问Entity类.
我使用Code First,因此必须使用Annotations标记实体,Silverlight将无法识别,因为DataAnnotations程序集不可参考.如果需要,切换到模型优先也是一种选择(尽管不太可取).
有没有人处理类似的情况?在Silverlight中获取强类型实体的最佳方法是什么?任何文章或参考资料也会有所帮助.谢谢.
技术(如果需要,可以选择升级):ASP .NET Web应用程序(.NET 4)实体框架5 Silverlight 5
我在我的应用程序LongListSelector中,这是我如何设置项目源:
historylist.ItemsSource = new List<VideoItem>(historyRep.historyArray);
Run Code Online (Sandbox Code Playgroud)
现在,如果从数组中删除了一个项目,则会添加一个新项目或者编辑的任何项目我再次调用此方法来刷新ItemSource:
historylist.ItemsSource = new List<VideoItem>(historyRep.historyArray);
Run Code Online (Sandbox Code Playgroud)
但现在我注意到这个方法产生了一些问题,我想知道这是否是刷新\更新LongListSelector的好方法?
我试图让文字换上Windows手机按钮时遇到问题.问题是文本正好被切断了!我几乎尝试了所有事情,但问题仍然存在.我已经搜索了这个问题,但我还没有找到一个有效的解决方案.
这是我的代码:
<Button Height="127" HorizontalAlignment="Left" Margin="12,548,0,0" Name="button1" VerticalAlignment="Top" Width="224" Click="button1_Click" Foreground="#FFEBF362" FontFamily="Segoe WP" BorderBrush="#FFEDF0F1" Background="#FF1BA1E2" >
<Button.Content>
<TextBlock Text="Button" TextWrapping="Wrap" Height="84" TextAlignment="Center" VerticalAlignment="Stretch" HorizontalAlignment="Center" Padding="0" FontSize="36" Width="186" FontFamily="Segoe WP" />
</Button.Content>
</Button>
Run Code Online (Sandbox Code Playgroud) 我正在尝试将新Person数据保存到数据库中.我的代码编译得很好,但是当我运行它时,我得到一个错误.Add().
错误说," This EntitySet of Type 'Diavik.DataAccess.Person' does not support the 'Add' operation."
这是一个SilverLight应用程序,这个文件是App.xaml.cs.
这是我的代码:
private void OnGetPerson_Completed(LoadOperation<Person> operation)
{
Person person = operation.Entities.SingleOrDefault();
if (person == null)
{
person = new Person()
{
FirstName = WebContext.Current.User.FirstName,
LastName = WebContext.Current.User.LastName,
IlluminatorLogin = WebContext.Current.User.Name
};
Context.Persons.Add(person);
}
Context.SubmitChanges(submitOp =>
{
// Some Stuff
}, null);
}
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助,
亚伦
在Windows应用商店的.xaml中,如果我这样写:
<TextBlock Text="☆" />
Run Code Online (Sandbox Code Playgroud)
它将渲染一颗星星。
但是,如果我用C#代码这样写:
TextBlock tb = new TextBlock
{
Text = "☆"
};
Run Code Online (Sandbox Code Playgroud)
它不会渲染,为什么呢?如何呈现用C#代码编写的unicode?
我们都知道XAML UIElements正在使用名为Visibility of type的属性
public enum Visibility { Visible, Collapsed }
Run Code Online (Sandbox Code Playgroud)
我的问题是,这个属性是Visibility类型的实际历史(?)原因是什么,而不仅仅是具有bool类型的普通IsVisible属性?
这肯定会节省我们花在编写/使用BoolToVisibilityConverters上的大量时间.
我是WPF的新手并尝试使用WPF创建自学习应用程序.我正在努力理解数据绑定,数据模板,ItemControls等概念.
我正在尝试创建一个包含以下要求的学习页面.
1)页面可以有多个问题.一旦问题填满整个页面,就会显示一个滚动条.2)选择的格式根据问题类型而有所不同.3)用户应能够选择问题的答案.
我面临着绑定嵌套ObservableCollection和显示上述要求的内容的问题.
有人可以帮助如何创建如下所示的页面以及如何沿着XMAL使用INotifyPropertyChanged来执行嵌套绑定.

这是我试图用来显示问题和答案的基本代码.
namespace Learn
{
public enum QuestionType
{
OppositeMeanings,
LinkWords
//todo
}
public class Question
{
public Question()
{
Choices = new ObservableCollection<Choice>();
}
public string Name { set; get; }
public string Instruction { set; get; }
public string Clue { set; get; }
public ObservableCollection<Choice> Choices { set; get; }
public QuestionType Qtype { set; get; }
public Answer Ans { set; get; }
public int Marks { set; get; }
}
} …Run Code Online (Sandbox Code Playgroud) 我在Service1.svc.cs中有一个方法,下面是代码
public void SaveData(int UserId, System.IO.MemoryStream File)
{
//Some code
}
Run Code Online (Sandbox Code Playgroud)
我从xaml.cs传递值
savedata.SaveDataAsync(userId, ms);
Run Code Online (Sandbox Code Playgroud)
错误是
无法从'System.IO.MemoryStream'转换为'SignSilverlight.ServiceReference1.MemoryStream'
怎么解决 ?
我对wpf和silverlight都是新手,我有很多需要学习的东西......
我有一个包含模板的列表框
<ListBox ItemsSource="{Binding itemList}" x:Name="list">
<ListBox.ItemTemplate>
<DataTemplate x:Name="datatemplate" >
<Grid Name="{Binding Id}">
<TextBlock Text="{Binding Txt}"></TextBlock>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
我需要为AutomationProperties.AutomationId每个列表项分配一个,比如
<ListBoxItem x:Name="lb_a" AutomationProperties.AutomationId="lb_1">
<Grid Name="grid_a">
<TextBlock Text="aa"></TextBlock>
</Grid>
</ListBoxItem>
<ListBoxItem x:Name="lb_b" AutomationProperties.AutomationId="lb_2">
<Grid Name="grid_b">
<TextBlock Text="bb"></TextBlock>
</Grid>
</ListBoxItem>
...
Run Code Online (Sandbox Code Playgroud)
我能怎么做?甚至可能吗?
我正在尝试以编程方式编译Silverlight项目.最初我只是包装了MsBuild.exe,但是有一个错误说:
C:\ Program Files(x86)\ MSBuild\Microsoft\Silverlight\v5.0\Microsoft.Silverlight.Common.targets(104,9):未安装Silverlight 4 SDK.
我正在使用SilverLight 5并安装了Silverlight 4和Silverlight 5的SDK.该解决方案在Visual Studio中编译良好.我按照这个问题的建议:
MSBuild命令行错误 - 未安装Silverlight 4 SDK
我从跑步开始:
C:\ WINDOWS\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe
至:
C:\ WINDOWS\Microsoft.NET \框架\ v4.0.30319\msbuild.exe
这解决了这个问题,但是由于需求的变化,我现在需要使用Microsoft.Build而不包装MsBuild exe.我有以下代码:
var globalProperty = new Dictionary<string, string> { { "Configuration", "Debug"}, { "Platform", "Any CPU" } };
var buildParameters = new BuildParameters(new ProjectCollection()) { Loggers = new List<ILogger> { this.logger } };
var buildRequest = new BuildRequestData(@"C:\example\solution.sln", globalProperty, "4.0", new[] {"Build" }, null);
BuildResult buildResult = BuildManager.DefaultBuildManager.Build(buildParameters, buildRequest);
Run Code Online (Sandbox Code Playgroud)
但是,我现在再次看到:
ValidateSilverlightFrameworkPaths:ERROR C:\ Program Files(x86)\ MSBuild\Microsoft\Silverlight\v5.0\Microsoft.Silverlight.Common.targets(104,9):未安装Silverlight …