标签: windows-runtime

MVVMCross Behaviors和InvokeCommandAction

我对MVVMCross和MVVM架构比较陌生.

我试图保持我的CodeBehind尽可能干净,所以我一直Interactivity:Interaction.Behaviors用来点击一个Item时触发一个命令:

<views:MvxStorePage.Resources>
        <core:Theme x:Key="Theme"/>
        <b:NameScopeBinding  x:Key="ModuleGridView" Source="{Binding ElementName=ModuleGridView}" />
</views:MvxStorePage.Resources>
...
<GridView x:Name="ModuleGridView" >
...
<Interactivity:Interaction.Behaviors>
     <Core:EventTriggerBehavior EventName="SelectionChanged">
          <Core:InvokeCommandAction Command="{Binding SelectModuleCommand}" CommandParameter="{Binding Source.SelectedItem, Source={StaticResource ModuleGridView}}" />
     </Core:EventTriggerBehavior>
</Interactivity:Interaction.Behaviors>
...
</GridView>
Run Code Online (Sandbox Code Playgroud)

在我的ViewModel中:

MvxCommand<object> _selectModuleCommand;
        public ICommand SelectModuleCommand
        {
            get
            {
                _selectModuleCommand = _selectModuleCommand ?? new MvxCommand<object>((obj) => SelectModule(obj));
                return _selectModuleCommand;
            }
        }

        private void SelectModule(object module)
        {
            var test = 1;
        }
Run Code Online (Sandbox Code Playgroud)

问题是传入的对象SelectModuleItemClickedEventArgs我的ViewModel所在的PCL核心项目中不可用的类型.所以我无法访问该ItemClicked对象的属性.

我试过从'InvokeCommandAction'中使用它

 <Core:InvokeCommandAction Command="{Binding SelectModuleCommand}" CommandParameter="{Binding Source.SelectedItem.ClickedItem, Source={StaticResource ModuleGridView}}" /> …
Run Code Online (Sandbox Code Playgroud)

mvvm portable-class-library windows-runtime mvvmcross

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

Windows运行时组件与Windows Phone Silverlight 8.1

我有一个现有的Windows Phone 8应用程序,它基本上是一个警报应用程序.无论出于何种原因,新的Windows Phone RunTime都不支持Alarm类,因此我只能将其升级到Windows Phone Silverlight 8.1.

幸运的是,WP SL 8.1项目仍然能够引用Windows RunTime组件,因为我的目标是使用新的后台任务机制中的一些很酷的功能.

这是我的问题 -

我的应用程序当前使用独立存储来存储数据,而它不在前台,其后台任务项目需要从隔离存储中检索数据并将其显示在实时磁贴上.但是,由于此项目是Windows RunTime组件,因此它不再支持隔离存储...

所以,我讨厌问,但是,我是不是死路一条?

windows-phone windows-runtime windows-phone-8.1 windows-phone-sl-8.1

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

在Windows Phone 8.1通用应用程序中本地保存图像

我想在Windows Phone 8.1通用应用程序中本地下载和保存(缓存)图像.因此,如果手机处于离线状态,我可以在ListView中向用户显示图像(头像).

  1. 将图像保存到本地存储的最佳方法是什么(我应该使用本地存储还是使用sqlite,因为我使用sqlite来存储用户的其他信息)?

  2. 如何将图像保存(下载)到本地商店?

谢谢!

windows-runtime winrt-xaml windows-phone-8.1

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

WinRT的IStorageFolder界面的目的是什么?

由于WinRT暴露了IStorageFolder接口和StorageFolder类,我的反应是在我的代码中使用接口.我推断,IStorageFolder它可以用作抽象来支持非文件系统文件夹,如压缩存档中的文件夹.但是,查看IStorageFolder接口,声明每个方法都返回具体StorageFolder实例.因此,不可能基于该接口实现虚拟文件系统.

那么如何IStorageFolder有用的抽象呢?或者它的存在是否有技术上的理由?

interface windows-runtime storagefolder

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

Windows Phone 8.1 MapIcon Click事件

我正在编写一个Windows Phone 8.1应用程序(Windows运行时版本),我使用MapIcon类将图标放在地图控件上.但是,我希望这些图标可以对"点击"事件做出反应,这样我就可以在用户点击特定图标后显示更多详细信息.我用Google搜索,但无法找到答案.有可能,还是我必须创建自己的类才能实现这个目标(以及如何)?

这是我第一次开发Windows Phone 8.1应用程序,所以任何建议都非常感谢.谢谢.

c# map windows-runtime windows-store-apps windows-phone-8.1

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

CreatePushNotificationChannelForApplicationAsync抛出0x880403E9错误

我正在制作Windows Phone 8.1(winrt风格)应用程序并陷入有关PushNotification的问题.

await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
Run Code Online (Sandbox Code Playgroud)

此函数返回PushNotificationChannel,通常效果很好.但在某些设备中,此功能会引发0x880403E9错误.

MSDN说,

0x880403E9由于早期的网络连接更改,通知平台正在重新连接回WNS云.应用应稍后使用指数退避策略重试频道请求.

我认为重试请求永远无法解决这个问题.该函数始终抛出异常.一个月内.我们甚至实施了指数重试策略.
更糟糕的是,我们破碎的设备之前的功能运行良好.但是一旦它被神秘的理由打破了(?),它就永远无法自我修复. - 我们第一次遇到这个问题,我们对设备进行了出厂设置并修复了问题.但在其他设备中,重置不是解决方案.

有人说更新最新版本可能会解决这个问题,但事实并非如此.即使在Windows Phone 8.1 Update 1(8.10.14157.200)中,问题仍然存在.

有没有人知道这个问题?

push-notification windows-runtime windows-phone-8.1

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

C#/ XAML Tapped事件

当我们遇到这样的情况时:

<Grid x:Name="Grid1" Tapped="Grid1_OnTapped"> 
    <!-- ... -->
    <Grid x:Name="Grid2" Tapped="Grid2_OnTapped">
        <!-- ... -->
           ...  
                     <Grid x:Name="Grid_n" Tapped="Grid_n_OnTapped">
                          <!-- ... -->
                     </Grid>
    </Grid>
</Grid>
Run Code Online (Sandbox Code Playgroud)

当用户点击Grid_nGrid_n_OnTapped事件方法被调用,但所有父网格的所有事件方法被调用了.所以我的问题是,是否有可能以某种方式阻止它,即只有当tap的位置在Grid1s区域而不是在他的孩子/子孩子的区域时才能调用"Grid1_OnTapped" .

c# xaml microsoft-metro windows-runtime winrt-xaml

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

Windows Store Backgroundtask与TimeTrigger无法正常工作

我有一个带有Backgroundtask的UniversalApp的解决方案.backgroundtask注册为30分钟的intervall.(电话限制)

但背景任务并没有开始数天.只有当我重新启动整个手机时,任务才会开始.这项任务不会占用大量的CPU时间,而且相当渺茫.任务在重新启动后启动的事实告诉我它已正确注册.我也可以使用Visual Studio调试器启动它.

我怎么能确定任务没有进入cpu配额?

这是我注册任务的方式:

await BackgroundExecutionManager.RequestAccessAsync();
var registeredTask = BackgroundTaskRegistration.AllTasks.Values.FirstOrDefault(x => x.Name == taskName);

if (registeredTask == null)
{
    var backgroundTaskBuilder = new BackgroundTaskBuilder();
    backgroundTaskBuilder.Name = taskName;
    backgroundTaskBuilder.TaskEntryPoint = taskEntryPoint;
    backgroundTaskBuilder.SetTrigger(new TimeTrigger(30, false));
    backgroundTaskBuilder.SetTrigger(new SystemTrigger(SystemTriggerType.InternetAvailable, false));
    backgroundTaskBuilder.Register();
}
Run Code Online (Sandbox Code Playgroud)

windows-runtime windows-store-apps windows-phone-8.1

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

使用Windows Media Foundation中的Sink Writer添加到视频的音频示例

我可以使用我在此处学习的图像编写视频文件.它使用IMFSampleIMFSinkWriter.现在我想为它添加音频.假设有Audio.wma文件,我希望将该音频写入该视频文件中.

但是在这个样本中无法弄清楚如何做到这一点.像输入和输出类型设置,IMFSample音频缓冲区的创建等等.如果有人能告诉我如何使用接收器编写器将音频添加到视频文件,那将是一件好事.

audio windows-runtime c++-cx ms-media-foundation

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

WinRT ListView隐藏ScrollBar?

我在我的桌面应用程序中使用WinRT XAML ListView.

当用户与列表视图交互时,它会在侧面显示垂直滚动条.我想总是隐藏这个滚动条.我做了一些没有运气的搜索.我试过了

ScrollViewer.VerticalScrollBarVisibility="False"
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

有人可以帮忙解决这个问题吗?有可能隐藏它吗?

c# xaml listview windows-runtime winrt-xaml

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