标签: silverlight-4.0

如何使用触发器将事件参数传递给命令?

所以我有一个简单的设置,一个带有Populating事件的自动完成框,我想绑定到一个命令.我用

clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity 
Run Code Online (Sandbox Code Playgroud)

(这有更好的命名空间吗?)

绑定它并不是什么大不了的事,最重要的是将PopulatingEventArgs参数传递给bound命令.

那么我该如何根据PRISM的最佳实践和MVVM一般来做呢?

c# events mvvm icommand silverlight-4.0

17
推荐指数
2
解决办法
2万
查看次数

从Silverlight 4(Beta)流式传输网络摄像头

Silverlight 4中的新网络摄像头很酷.通过将其作为画笔公开,它允许超出Flash所具有的任何场景.

与此同时,在本地访问网络摄像头似乎只是故事的一半.没有人购买网络摄像头,这样他们就可以拍摄自己的照片并制作出有趣的面孔.他们购买网络摄像头是因为他们希望其他人看到最终的视频流,即他们希望将该视频流式传输到互联网,Skype或任何其他几十个视频聊天网站/应用程序.到目前为止,我还没弄清楚如何做到这一点

事实证明,这是非常简单的,以获得原始(Format32bppArgb格式)的字节流的保持,这表现在这里.

但除非我们想将原始字节流传输到服务器(这会占用过多的带宽),否则我们需要以某种方式对其进行编码.这更复杂.MS已经在Silverlight中实现了几个编解码器,但据我所知,他们都专注于解码视频流,而不是首先对其进行编码.这与我无法弄清楚如何直接访问H.264编解码器的事实不同.

有大量的开源编解码器(例如,在这里的ffmpeg项目中),但它们都是用C语言编写的,并且它们看起来不容易移植到C#.除非翻译10000多行看似这样的代码就是你的乐趣:-)

const int b_xy= h->mb2b_xy[left_xy[i]] + 3;
const int b8_xy= h->mb2b8_xy[left_xy[i]] + 1;
*(uint32_t*)h->mv_cache[list][cache_idx ]= *(uint32_t*)s->current_picture.motion_val[list][b_xy + h->b_stride*left_block[0+i*2]];
*(uint32_t*)h->mv_cache[list][cache_idx+8]= *(uint32_t*)s->current_picture.motion_val[list][b_xy + h->b_stride*left_block[1+i*2]];
h->ref_cache[list][cache_idx ]= s->current_picture.ref_index[list][b8_xy + h->b8_stride*(left_block[0+i*2]>>1)];
h->ref_cache[list][cache_idx+8]= s->current_picture.ref_index[list][b8_xy + h->b8_stride*(left_block[1+i*2]>>1)];
Run Code Online (Sandbox Code Playgroud)

Mono项目中的mooncodecs文件夹(这里)在C#(ADPCM和Ogg Vorbis)中有几个音频编解码器,还有一个视频编解码器(Dirac),但它们似乎只实现了各自格式的解码部分,java也是如此移植它们的实现.

我找到了Ogg Theora的C#编解码器(csTheora,http://www.wreckedgames.com/forum/index.php?topic = 1053.0 ),但同样,它只是解码,就像它所基于的jheora编解码器一样.

当然,从Java移植编解码器可能比从C或C++移植更容易,但我发现的唯一java视频编解码器只是解码(例如jheora或jirac).

所以我有点回到原点.看起来我们通过Silverlight将网络摄像头(或麦克风)连接到Internet的选项是:

(1)等待微软就此提供一些指导;

(2)花费大脑周期将一个C或C++编解码器移植到兼容Silverlight的C#;

(3)将原始的,未压缩的字节流发送到服务器(或者用zlib之类的东西稍微压缩),然后在服务器端编码; 要么

(4)等待比我聪明的人想出这个并提供解决方案.

还有其他人有更好的指导吗?我是否错过了对其他人来说非常明显的事情?(例如,Silverlight 4在某个地方是否有一些我错过的课程可以解决这个问题?)

silverlight webcam silverlight-4.0

16
推荐指数
1
解决办法
1万
查看次数

如何在Silverlight DataGridTextColumn中包装文本

我试图在Silverlight 4 Beta中创建一个简单的DataGrid,但似乎无法弄清楚如何让我的Note列到wordwrap.

该表代表订单上的注释,因此它们的长度可变.我希望'Note'单元格垂直展开以适合内容.

我发现了许多类似的问题,但没有答案.Silverlight 4中有新内容可以解决这个问题吗?

    <data:DataGrid AutoGenerateColumns="False" Name="dataGrid1" IsReadOnly="True">
        <data:DataGrid.Columns>
            <data:DataGridTextColumn Header="Date" Binding="{Binding Date}" />
            <data:DataGridTextColumn Header="User" Binding="{Binding User}" />
            <data:DataGridTextColumn Header="Note" Binding="{Binding Note}"  />
        </data:DataGrid.Columns>
    </data:DataGrid>
Run Code Online (Sandbox Code Playgroud)

silverlight silverlight-4.0

16
推荐指数
2
解决办法
2万
查看次数

Silverlight 4.0:如何将byte []转换为图像?

public Image Base64ToImage(string base64String)
    {
        // Convert Base64 String to byte[]
        byte[] imageBytes = Convert.FromBase64String(base64String);
        MemoryStream ms = new MemoryStream(imageBytes, 0,
          imageBytes.Length);

        // Convert byte[] to Image
        ms.Write(imageBytes, 0, imageBytes.Length);
        System.Drawing.Image image = System.Drawing.Image.FromStream(ms, true);
        return image;
    }
Run Code Online (Sandbox Code Playgroud)

我想将byte []转换为图像,但Silverlight不支持System.Drawing.Image.还有其他选择

base64 system.drawing bytearray silverlight-4.0

16
推荐指数
1
解决办法
3万
查看次数

Silverlight 4.0 PDF Viewer

任何可以自由控制来查看Silverlight的PDF?

或者如何从内存流中查看silverlight中的pdf?

pdf silverlight viewer stream silverlight-4.0

16
推荐指数
1
解决办法
3万
查看次数

列表框项目方向为水平

如何在列表框的默认样式中将列表框项目方向设置为水平.我的意思是默认是我们使用混合的样式.

c# silverlight silverlight-4.0

15
推荐指数
1
解决办法
2万
查看次数

使用Silverlight 4和Firefox进行Visual Studio调试

尝试在使用Firefox作为浏览器的Visual Studio 2010中调试Silverlight 4应用程序时,我无法遇到任何断点.我收到消息"断点当前不会被击中".

debugging firefox breakpoints visual-studio-2010 silverlight-4.0

15
推荐指数
2
解决办法
6113
查看次数

在数据绑定到ComboBox中的CollectionViewSource时,如何保留CurrentItem的TwoWay绑定

假设我们有一个简单的VM类

public class PersonViewModel : Observable
    {
        private Person m_Person= new Person("Mike", "Smith");

        private readonly ObservableCollection<Person> m_AvailablePersons =
            new ObservableCollection<Person>( new List<Person> {
               new Person("Mike", "Smith"),
               new Person("Jake", "Jackson"),                                                               
        });

        public ObservableCollection<Person> AvailablePersons
        {
            get { return m_AvailablePersons; }
        }

        public Person CurrentPerson
        {
            get { return m_Person; }
            set
            {
                m_Person = value;
                NotifyPropertyChanged("CurrentPerson");
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

成功数据绑定到ComboBox就足够了,例如:

<ComboBox ItemsSource="{Binding AvailablePersons}" 
          SelectedValue="{Binding Path=CurrentPerson, Mode=TwoWay}" />
Run Code Online (Sandbox Code Playgroud)

请注意,Person已经Equals过载,当我在ViewModel中设置CurrentPerson值时,它会导致组合框当前项显示新值.

现在假设我想在我的视图中添加排序功能 CollectionViewSource

 <UserControl.Resources>
        <CollectionViewSource x:Key="PersonsViewSource" Source="{Binding AvailablePersons}">
            <CollectionViewSource.SortDescriptions>
                <scm:SortDescription PropertyName="Surname" Direction="Ascending" …
Run Code Online (Sandbox Code Playgroud)

c# silverlight collectionviewsource silverlight-4.0

15
推荐指数
1
解决办法
4916
查看次数

从浏览器安装后启动Silverlight Out-of-Browser

我正在Silverlight 4 Beta中构建原型应用程序,我使用的是Out-of-Browser(OOB)功能.我需要OOB功能才能访问本地文件系统,我想避免编写ActiveX组件或Java小程序.

我需要能够在客户端计算机上安装后从浏览器启动OOB体验.我似乎能够做的就是从浏览器中检测应用程序是否已安装,然后要求用户从桌面或开始菜单(作为普通应用程序)启动它.

然而,这"打破"了客户所需的体验,应该从浏览器引导.有没有人能够直接从浏览器启动OOB应用程序?

谢谢,

马亭

.net c# silverlight out-of-browser silverlight-4.0

14
推荐指数
1
解决办法
2767
查看次数

如何让Silverlight 4 Tools在Web Developer 2010 Express中运行?

我安装了Windows 7.

然后,我从此处使用Web Platform Installer安装了Web Developer 2010 Express .

然后我从这里安装了Silverlight 4 Toolkit4月15日版本.

然后我添加了这个参考:

替代文字http://www.deviantsart.com/upload/ijk0lm.png

然后在我的XAML中,我像这样引用它,但它没有给我智能感知并且告诉我我缺少一个程序集引用:

替代文字http://www.deviantsart.com/upload/cd4vrj.png

更新:

xmlns:tk="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
Run Code Online (Sandbox Code Playgroud)

即使在重建之后也不起作用

在Web Developer 2010 Express中使用Silverlight 4 Toolkit需要做什么?

附录:

所以我在另一台计算机上用Web Developer Express 2008中的Silverlight 3再次测试它,它确实按照我记忆的方式工作,所以为什么它不能在Silverlight 4中以这种方式工作,我需要更改才能获得它上班?:

替代文字http://www.deviantsart.com/upload/14eo9k7.jpg

wrappanel visual-studio-2010 silverlight-toolkit dockpanel silverlight-4.0

14
推荐指数
1
解决办法
3342
查看次数