Tag: uwp

UWP上的套接字通信(Universial Windows Platporm)

我想要实现的是基于UWP的程序和其他c#程序试图在一台PC上与Soket通信(Windows 10 Pro)。 我试图使用StreamSocket类( https://msdn.microsoft.com/ko-kr/windows/uwp/networking/sockets )使用DatagramSocket类和TCP通信模块制作UDP通信模块,似乎模块无法正常工作。 在Windows UWP示例程序和一些开发人员论坛中,我看到一个声明,即同一设备上的其他程序之间的套接字通信是不可能的。 我想知道这是否是我理解的权利。 此外,如果它是正确的,您会建议其他方法来解决这个问题吗? 谢谢阅读。

在VS2015上使用xUnit测试和UWP应用程序

这是这个问题的后续行动。 我按照这里描述的步骤进行操作,样本测试按预期工作。 这是我第一次使用这个工作样本,但是等待真正的工作设置,这是我遇到麻烦的地方。 作为测试我的应用程序的下一步,我使用“添加引用…”将我的UWP应用程序项目添加到xUnit Test项目中。 现在,在我引用我的项目之后,当我运行测试时(在测试资源管理器窗格VS2015中全部运行),我收到以下错误: Error Payload contains two or more files with the same destination path ‘Assets\SplashScreen.scale-200.png’. Source files: …\Projects\Sample\SampleUnitTest\Assets\SplashScreen.scale-200.png …\Projects\Sample\Sample\Assets\SplashScreen.scale-200.png SampleUnitTest 还有两个错误,正如上面所述,但是指的是Square150x150Logo.scale-200.png和Square44x44Logo.targetsize-24_altform-unplated.png图像文件。 我能理解这些错误意味着什么; 正在测试的应用程序和测试项目都生成目标为相同输出的可视资源(闪屏图像,徽标,任务栏图标等)但这些是注册应用程序并运行(在本地计算机上运行)所必需的我的情况)。 我从来没有遇到过这样一个有争议的问题,即输出相同视觉资源的两个项目,希望有人知道如何解决这个问题。 如果我将项目更改为Class项目,则unit testing不起作用,因此这不是一个选项。 您如何处理xUnit测试项目和正在测试的项目之间的争议情况(可视化资源)?

UWP – .NET本机工具链编译错误

我开发了一个简单的小型通用Windows应用程序,它使用EF7和SQLite。 当取消选中 “使用.NET Native工具链编译 ”选项时,它可以编译并顺利运行。 如果我选中 “使用.NET Native工具链编译 ”选项 ,则会出现以下编译错误: 错误类型’System.MarshalByRefObject’未包含在编译中,但在“Microsoft.Data.Entity.Design.OperationExecutor”类型中引用。 可能有一个组装缺失。 在此之后还有很多其他错误,但我相信解决这个错误也会照顾其余的错误。 有谁知道如何解决这个问题?

在VS2015上使用xUnit测试UWP应用程序

我已经设法在VS2015上创建一个xUnit项目来对UWP应用进行unit testing。 这里有一个关于stackoverflow的问题的背景,它给出了这个问题的一些背景。 我可以编译并运行测试,但是当我引用要测试的项目时,会出现以下错误。 —— Run test started —— Updating the layout… Checking whether required frameworks are installed… Registering the application to run from layout… Deployment complete (1857ms). Full package name: “8f4533e5-fec8-415b-94ab-6bce6b37374f_1.0.0.0_x86__5gyrq6psz227t” A user callback threw an exception. Check the exception stack and inner exception to determine the callback that failed. ========== Run test finished: […]

如何使用当前Windows LoggedIn用户validationUWP应用程序

目前,我的企业UWP应用程序使用来自用户的AD用户名和密码进行身份validation,这通常与Windows登录用户相同。 我需要删除此要求,并允许用户根据当前Windows用户直接登录到应用程序。 我一直在搜索很多,发现它适用于网站,但不适用于应用程序。 我正在使用以下客户端: var filter = new HttpBaseProtocolFilter(); Windows.Web.Http.HttpClient client = new Windows.Web.Http.HttpClient(filter); client.GetAsync(url); 是否有任何资源可以在UWP应用程序中使用哪些窗口单点登录validation? 编辑: 某些解决方案是Azure目录特定的,但在我的情况下,它可能不是Azure目录,但它可能是带有域凭据的企业Active Directory(ADFS),使用UWP应用程序的用户将使用相同的凭据登录为Windows登录凭据。 因此,我一直在寻找解决方案,其中当前登录用户可以登录而无需再次输入凭据。 它可能类似于Chrome / IE浏览器自动登录到Intranet站点。

在特定位置的UI元素上方显示弹出窗口

我有gridView,它的项目非常简单,我在每个gridViewItem上都有按钮。 在此按钮上单击我想显示一个与gridViewItem具有相同内容的弹出按钮,但也显示更多数据。 这很容易,但我想将flyout定位在gridViewItem上方,使其显示的项目与gridViewItem项目完全相同。 此技术用于Windows 10的Store应用程序。当看到用户对应用程序的评论时。 点击更多会显示该弹出窗口。

UWP – 在类库中加载图像

我有一个通用Windows应用程序,主持一个主菜单。 我想要一个插件架构,其中菜单项是从类库中添加的。 但我似乎无法正确加载图像。 我无法让ms-appx:///工作,当我尝试将图像添加为嵌入式资源时,它会挂起: var assembly = typeof(CookModule).GetTypeInfo().Assembly; using (var imageStream = assembly.GetManifestResourceStream(“My.Namespace.Folder.ImageName-100.png”)) using (var raStream = imageStream.AsRandomAccessStream()) { var bitmap = new BitmapImage(); bitmap.SetSource(raStream); //<- Hangs here 我没有例外,输出中的错误或任何东西。 它只是挂在那里,应用程序只是不加载页面。 我也尝试过: var bitmap = new BitmapImage(new Uri(“/Folder/ImageName-100.png”)); 我遗漏了类似于WPF包uri的东西,我可以说明从哪个程序集加载图像。 从类库中向图像添加图像资源的正确(和工作)方式是什么? (或者有没有人有ms-appx的工作示例,其中图像在类库中)

当服务器和客户端在同一台计算机上时,收听广播

在晚上度过了更好的一部分后,我无法使其发挥作用。 这是我正在做的事情: 这是一个由一个参与者托管并由其他玩家加入的网络游戏。 主持人自己也是一名球员。 用户单击“主机”按钮开始在UDP上做广告。 其他用户可以看到所有可用主机的列表,并选择一个加入。 作为入门者,我下载了NetworkHelper库来研究UWP中的网络工作方式。 该库提供了我分别用于Host和Player类的UDPManager和UDPParticipant类。 该库还包括一个小问答游戏样本。 我的架构和游戏之间唯一的重大变化是我的一个玩家需要充当主机和玩家,而示例游戏可以一次充当主机或玩家。 因此,与它们不同,我需要同时监听两个DatagramSocket对象。 一切正常,除了(grrr ……为什么除了总是在拐角处),主机上运行的客户端无法收听广告消息。 DatagramSocket告诉我,对于相同的网络地址(协议/主机/端口),我不能有多个用法。 如果我为服务器和客户端使用不同的端口(下面是AdvertiserPort和ListenerPort ),则没有exception,但客户端从不接收广告消息。 这是服务器(仅包括相关代码): AdvertiserSocket = new DatagramSocket(); AdvertiserSocket.MessageReceived += MessageToConnectReceivedFromParticipantAsync; await AdvertiserSocket.BindServiceNameAsync(AdvertiserPort); _timer = new Timer(async state => await SendMessageAsync(), null, 0, AdvertiserInterval); 和广告: private async Task SendMessageAsync() { Stream outStream = (await AdvertiserSocket.GetOutputStreamAsync(AdvertiserGroupHost, AdvertiserPort)).AsStreamForWrite(); using (var writer = new StreamWriter(outStream)) […]

更改ScrollViewer滚动条的自动隐藏计时器的默认时间

当ScrollViewer显示滚动条,并且光标未移动约3秒时,滚动条会自动隐藏。 有没有办法将时间设置为多于或少于默认时间? 编辑 再现如此: 将光标移动到ScrollViewer上以显示滚动条。 将光标静止3秒钟以查看滚动条消失。 我想将这3秒改为1。 编辑2 后续问题 – 为什么这个ScrollViewer的ScrollBars会出现两次? 。

UWP – 按空格时不要点击事件(如电影和电视应用程序)

我正在制作自定义媒体播放器,并尝试重现与电影和电视应用(Windows 10 CU)相同的行为。 无论如何, 空间都用于播放和暂停video。 在聚焦时, 空格 不用于单击按钮(但输入是)。 这种行为打破了一些关于键盘可访问性的规则,但我认为没关系。 用于播放和暂停的空间是用户期望的。 问题是:他们是怎么做到的? 我发现了一些半解决方案: 解决方案1 Window.Current.CoreWindow.KeyDown以及if Click Event Handler Page.xaml.cs: protected override void OnNavigatedTo(NavigationEventArgs e) { Window.Current.CoreWindow.KeyDown += CoreWindowOnKeyDown; //… } bool isItSpace; private void CoreWindowOnKeyDown(CoreWindow sender, KeyEventArgs args) { if (args.VirtualKey == VirtualKey.Space) isItSpace = true; } private void ButtonBase_OnClick(object sender, RoutedEventArgs e) { if (isItSpace) […]