是否在WPF中创建了允许RDP访问的自定义UserControl.我知道RDP 5.1的ActiveX控件,但我更喜欢可以嵌入Silverlight应用程序中的东西.
我花了20分钟试图在C#中找到一个如何在两个矩形之间画一条线的例子,我找不到任何东西.我不知道我是不是不理解在Silverlight中绘制2D形状的范例,或者我只是在寻找错误的地方.
我已经设置了矩形,所以我可以拖动它们,现在我想在画布上拖动一个矩形时在两个形状之间画一条线.当我拖动第二个矩形时,我希望能够做到这样的事情:
void host1_MouseLeftButtonMove(object sender, MouseEventArgs e)
{
if (isDown)
{
this.host1TranslateTransform.X = e.GetPosition(canvas).X - x;
this.host1TranslateTransform.Y = e.GetPosition(canvas).Y - y;
Line l = new Line();
l.X1 = rect1.X; // does not work
l.X2 = e.GetPosition(canvas).X;
l.Y1 = rect1.Y; // does not work
l.Y2 = e.GetPosition(canvas).Y;
}
}
Run Code Online (Sandbox Code Playgroud)
如何获取第一个框的坐标?我无法弄清楚如何在我的应用程序中获取相对于画布的形状坐标.我将非常感谢任何有关如何绘制简单2D形状的初学者概述的教程.
谢谢!
为什么我已经为使用MSDN订阅的Visual Studio 2008花费了$$$$来为Expression Blend花费更多$$$?是否会有2008年的服务包来支持这一点,它是否会成为VS2010的一部分,还是我们总是必须使用单独的工具?
谢谢
对于Silverlight 2,看起来编程选择是:
这种情况下,本地语言(C#和VB)比DLR语言快一个数量级左右?
当我进行Silverlight客户端编程时,有没有希望在IronPython中"生活",或者我是否应该为处理器密集型工作投入C#?
我对语言的调查来自C#和VB的这组例子以及讨论DLR的这个页面.
我在这里讨论的问题基本相同:http://khason.net/blog/dependency-property-getters-and-setters-in-multithreaded-environment/
public static readonly DependencyProperty MyPropertyProperty =
DependencyProperty.RegisterAttached("MyProperty", typeof(bool),
typeof(MyObject), new PropertyMetadata(new PropertyChangedCallback(OnMyPropertyChanged)));
public static bool GetMyProperty(DependencyObject obj)
{
return (bool)obj.GetValue(MyPropertyProperty); <<<<<
}
public static void SetMyProperty(DependencyObject obj, bool value)
{
obj.SetValue(MyPropertyProperty, value);
}
Run Code Online (Sandbox Code Playgroud)
如果标记为"<<<<<"的行从后台线程调用,Silverlight会抛出InvalidOperationException,我的应用程序可能会死锁.
遗憾的是,博客文章中的解决方案无效,因为Dispatcher类的Silverlight版本隐藏了同步的Invoke方法 - 只有BeginInvoke被标记为public.
silverlight multithreading asynchronous dependency-properties
是否可以使用某种属性来抛出异常.这就是我的意思.而不是这样做:
public int Age
{
get
{
return this.age;
}
set
{
this.age = value;
NotifyPropertyChanged("Age");
if (value < 18)
{
throw new Exception("age < 18");
}
}
}
Run Code Online (Sandbox Code Playgroud)
做这样的事情:
[Range(18,100, ErrorMessage="Must be older than 18")]
public int Age
{
get
{
return this.age;
}
set
{
this.age = value;
NotifyPropertyChanged("Age");
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
最诚挚的问候,基里尔
我正在尝试创建一个新的silverlight项目,但我不知道它是否在SL2或SL3下创建项目.有人知道是否有办法说出项目的不同之处?
因为我不是一个开发人员而不是一个设计师,我喜欢手工编写我的xaml而不是使用draggy-droppy的东西.
自Silverlight 3 - VS2008的设计预览已经消失.它不是很好,但至少我得到了我的标记的直观表示,而无需运行应用程序.
所以我安装了Blend 3,我仍然喜欢手工编写我的xaml代码.
有没有人知道在设计视图和xaml视图之间切换的键盘快捷方式 - 我已经尝试在VS中编辑xaml然后选项卡进行混合,但是当我只是想要快速预览时,会有一些小的延迟.
谢谢.
所以我是第一次使用Windows开发人员(完成java swing,iphone,flash/flex),我对微软希望我在浏览器丰富的应用程序中使用的技术感到困惑.我正在设计的应用程序是一个支持从文件系统拖放的文件上传器,看起来很简单,我已经用Java实现了这一点,我认为使用Microsoft的工具更容易,但使用哪个部署平台......
Silverlight:非常适合视频,轻量级应用程序,大量控件和小部件,在浏览器中运行,就像Flash一样,非常棒.没有拖放文件系统访问权限,嘘.
ClickOnce:您可以使用所有的铃声和口哨部署一个成熟的Windows应用程序,但是即使是仅限于Web的部署,它也不会在浏览器中运行,它会在新窗口中打开,嘘声.
在浏览器DLL中:这些工作与旧的ActiveX应用程序完全相同,除了用户可以运行它们的唯一方法是通过安全面板将站点添加为可信站点并使用caspol修改其.Net安全性可接受的部署策略.您应该能够像Java应用程序一样提示用户信任.
ActiveX:几乎所有成熟的Windows应用程序都可以,包括完整的文件系统访问,在浏览器中运行,非常棒.出于某种原因,这是一个不再讨论或使用的弃用技术,看起来你只能从真正的旧版VS(2003)或VB6生成ActiveX cab/ocx文件.
所以我想要的是无法实现的?我是否可以在浏览器内部运行的应用程序中通过拖放操作获得完整的文件系统访问权限而无需用户跳过箍来运行它?我正试图找到一个很好的理由来解决我遇到的问题向我的同事解释.
silverlight ×10
c# ×4
.net ×2
activex ×1
asynchronous ×1
canvas ×1
clickonce ×1
ironpython ×1
ironruby ×1
uielement ×1
wpf ×1
xaml ×1