Tag: winrt xaml

Microsoft.NET.CoreRuntime的SOS调试扩展

在尝试使用WinDbg跟踪UWP C#/ XAML存储项目中的致命空指针语言exception(c000027b)时,由于缺少Microsoft.NET.CoreRuntime的SOS调试扩展,我无法访问CLR Exception对象。 我无法找到匹配的sos.dll。 我错过了什么? 注意:应用程序崩溃是可重现的,但仅在未进行调试时才会发生。 因此,遗憾的是,在Visual Studio调试器下运行项目不是这种情况下的解决方案。 […] 0:009> dt -a6 000001c37c6587e0 combase!PSTOWED_EXCEPTION_INFORMATION_V2 [0] @ 000001c3`7c6587e0 ——————————————— 0x000001c3`7a8c8348 +0x000 Header : _STOWED_EXCEPTION_INFORMATION_HEADER +0x008 ResultCode : 80004003 +0x00c ExceptionForm : 0y01 +0x00c ThreadId : 0y000000000000000000100001111100 (0x87c) +0x010 ExceptionAddress : 0x00007ffb`e61f24dd Void +0x018 StackTraceWordSize : 8 +0x01c StackTraceWords : 5 +0x020 StackTrace : 0x000001c3`7c658a80 Void […]

BitmapImage到byte Windows 8 metro(WinRT)

我想在Windows 8应用程序中将BitmapImage转换为byte []。 我知道如何使用Windows sdk做到这一点,但似乎无法让它适用于WinRT sdk。 一两篇post暗示我应该使用WritableBitmap来实现这一点,但没有明确的例子。 将BitmapImage转换为Byte数组 (Windows) 以下是我发现的最好但对我来说仍然过于模糊 WinRT将图像加载到字节数组中 我会感激任何帮助。

在WinRT C#中如何使用RenderTargetBitmap保存屏幕外XAML树?

以下代码从RenderAsync方法抛出一个神秘的System.ArgumentException“值不在预期范围内”。 另一方面,如果我的Canvas是可见的XAML树的一部分,它的工作原理。 是否无法呈现未在屏幕上显示的某些XAML? Canvas c = new Canvas(); c.Width = 40; c.Height = 40; c.Background = new SolidColorBrush(Color.FromArgb(0xff, 0x80, 0xff, 0x80)); RenderTargetBitmap x = new RenderTargetBitmap(); await x.RenderAsync(c); 我几乎认为这个答案可行,但没有运气,我猜它只适用于WPF:在屏幕外创建WPF元素并渲染到位图 更新: 到目前为止,我最好的想法是将我想渲染的Canvas放入当前可见的页面,但将其置于通常填充屏幕的根UIElement之下,以便用户看不到: 它不漂亮,但它似乎工作。 让我们看看是否有人能做得更好

如何在FlipView中访问DataTemplate中的xaml Control

我想访问C#代码中的“image”元素。 我知道我无法直接访问它,因为它在datatemplate中。 我尝试过可视树,但仍然无法在代码中获得“图像”控制元素。

在Windows 8桌面应用上使用MediaCapture

在Windows 8桌面应用程序中,我需要使用C#4.5中的相机拍摄照片。 我曾尝试使用CameraCaptureUI类,但它不适用于桌面应用程序。 所以我尝试使用MediaCapture类,它可用于Metro应用程序或桌面应用程序。 它的工作原理非常好,基于此处的示例: http : //code.msdn.microsoft.com/windowsapps/media-capture-sample-adf87622/ var capture = new MediaCapture(); // Find the camera device id to use string deviceId = “”; var devices = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync(Windows.Devices.Enumeration.DeviceClass.VideoCapture); for (var i = 0; i < devices.Count; i++) { Console.WriteLine(devices[i]); deviceId = devices[i].Id; } // init the settings of the capture var settings = […]

Windows 8 GridView – 禁用项目点击可视化

是否可以删除gridview中项目的点按效果?

从Windows 8应用程序中生成的缓冲区播放声音

我正在将一些C#Windows Phone 7应用移植到Windows 8。 手机应用程序使用XNA SoundEffect从缓冲区播放任意声音。 在最简单的情况下,我只需创建所需持续时间和频率的正弦波。 持续时间和频率都可能有很大差异,所以我宁愿不依赖MediaElements(除非有一些方法可以改变基本文件的频率,但这只会帮助我生成单一频率)。 WinRT中的XNA SoundEffectInstance相当于什么? 我假设我需要使用DirectX,但我不确定如何从其他C#/ XAML应用程序中进行此操作。 我已经看过SharpDX ,但它似乎没有我认为我需要使用的DirectSound,SecondaryBuffer,SecondaryBuffer类。 我上面做了一些假设。 可能是我正在寻找错误的类,或者有一种完全独立的方式从Windows 8应用程序生成任意声音。 我找到了一个使用SharpDX的XAudio2通过AudioBuffer播放wav文件的例子 。 这看起来很有希望,我只需要将生成的音频缓冲区替换为本机文件流。 PM>安装包装SharpDX PM> Install-Package SharpDX.XAudio2 public void PlaySound() { XAudio2 xaudio; MasteringVoice masteringVoice; xaudio = new XAudio2(); masteringVoice = new MasteringVoice(xaudio); var nativefilestream = new NativeFileStream( @”Assets\SpeechOn.wav”, NativeFileMode.Open, NativeFileAccess.Read, NativeFileShare.Read); var soundstream = new SoundStream(nativefilestream); var […]

使用值绑定分配的依赖项属性不起作用

我有一个带有依赖项属性的usercontrol。 public sealed partial class PenMenu : UserControl, INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } public bool ExpandCollapse { get { return false; } set { //code } } public static readonly DependencyProperty ExpandCollapseProperty = DependencyProperty.Register(“ExpandCollapse”, typeof(bool), typeof(PenMenu), null); //some more […]

在Windows 8网格中处理滑动客户端

我正在尝试实现一个自定义控件,它包含一个带有一些canvas元素作为子元素的网格,当在网格上进行滑动操作时,我打算用canvas元素执行一些操作。 我无法处理网格的滑动,我已经在msdn – win8 Dev论坛上发布了相同的内容

为什么调用等待过早地完成父任务?

我正在尝试创建一个控件来公开消费者可以订阅的DoLoading事件,以便执行加载操作。 为方便起见,应该从UI线程调用事件处理程序,允许消费者随意更新UI,但是他们也可以使用async / await来执行长时间运行的任务,而不会阻塞UI线程。 为此,我宣布了以下代表: public delegate Task AsyncEventHandler(object sender, TEventArgs e); 这允许消费者订阅该活动: public event AsyncEventHandler DoLoading; 这个想法是消费者会这样订阅事件(这条线在UI线程中执行): loader.DoLoading += async (s, e) => { for (var i = 5; i > 0; i–) { loader.Text = i.ToString(); // UI update await Task.Delay(1000); // long-running task doesn’t block UI } }; 在适当的时间点,我得到UI线程的TaskScheduler并将其存储在_uiScheduler 。 适当时由具有以下行的loader触发事件(这发生在随机线程中): this.PerformLoadingActionAsync().ContinueWith( […]