标签: windows-runtime

Windows 8底部应用栏

我一直试图App barWinRT metro app(C#/ XAML)中实现,但不知道从哪里开始.我尝试过使用<ApplicationBar/>标签,但是出现了Type not found错误.

网上没有帮助,有人可以用答案更新这篇文章,以便它也可以作为其他程序员的参考吗?

只有一个JavaScript样本没有太多帮助.

xaml application-bar windows-8 windows-runtime winrt-xaml

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

引用可移植类库中的资源文件时找不到ResourceMap错误

我面临的问题如下:

我开发了一个可移植的类库来封装服务连接.在这个类库中有一个包含字符串的Resources.resw文件.这些字符串只能通过类库的方法调用(例如,重写ToString()方法).

正如我所说,这是一个便携式类库.如果我将它作为dll引用,或者甚至作为另一个解决方案中的项目引用它,它将被构建并正确编译.然后我在我的应用程序中使用此库的方法进行调用,比方说

        ClientFacadeConnector connector = new ClientFacadeConnector();
        ICollection<SearchResult> results = null;
        string message = string.Empty;

        if (maxResults != -1) //Search with max Results
        {
            try
            {
                if (!contextQuery.Trim().Equals(string.Empty))
                {

                    results = await connector.GetConnected().SearchAsync(contextQuery, query, maxResults);
                    message = "Search with ContextQuery " + contextQuery + ", Query " + query + ", max results " + maxResults.ToString();
                }
                else
                {

                    results = await connector.GetConnected().SearchAsync(query, maxResults, true);
                    message = "...using normal Query search, Query " + query + ", max results …
Run Code Online (Sandbox Code Playgroud)

c# resources portability microsoft-metro windows-runtime

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

Platform :: String真的没用吗?

我试图在"Windows Store"(又名Metro Style)应用程序中用C++/CX编写几行代码,我很惊讶地发现Platform :: String缺少许多基本的字符串操作,如"replace""指数".

我想我可以使用内部数据,将其传递给std:string实例并应用我需要的操作,但我想知道我是否缺少一些"仅限Platform ::*"的方法来执行这些操作.

请注意这个问题是关于C++/CX,而不是C#.

visual-c++ windows-8 windows-runtime c++-cx

11
推荐指数
2
解决办法
6933
查看次数

在WebView(WinRT)中打开外部浏览器中的链接

我有一个WebView组件,用于在我的应用程序中显示HTML广告.当用户在WebView中单击广告时,我想在外部浏览器中打开广告链接.我怎么做?

我需要像WP7浏览器那样的OnNavigating.我尝试了WebView的Tapped事件,但即使设置IsTapEnabled = true,它也永远不会被调用.我需要类似的东西

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

11
推荐指数
2
解决办法
6885
查看次数

WinRT - MessageDialog.ShowAsync将在我的自定义类中抛出UnauthorizedAccessException

我想编写自己的控件,当调用ctor时,会显示一个MessageBox.

public class Class1
{
    public Class1()
    {
        ShowDialog();
    }
    void ShowDialog()
    {
        SynchronizationContext context = SynchronizationContext.Current;
        if (context != null)
        {
            context.Post((f) =>
            {
                MessageDialog dialog = new MessageDialog("Hello!");
                dialog.ShowAsync();
            }, null);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我的类被某人使用,并编写如下代码,则始终会抛出UnauthorizedAccessException dialog.ShowAsync();

void MainPage_Loaded(object sender, RoutedEventArgs e)
        {

            ClassLibrary1.Class1 c1 = new ClassLibrary1.Class1();
            MessageDialog dialog1 = new MessageDialog("");
            dialog1.ShowAsync();
        }
Run Code Online (Sandbox Code Playgroud)

有没有办法毫无例外地显示消息对话框?


我找到了一种方式,享受它!

Task ShowDialog()
        {
            CoreDispatcher dispatcher = Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher;
            Func<object, Task<bool>> action = null;
            action = async (o) =>
            {
                try
                {
                    if (dispatcher.HasThreadAccess) …
Run Code Online (Sandbox Code Playgroud)

.net c# unauthorizedaccessexcepti messagedialog windows-runtime

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

无法使用c#导航到Windows Metro App上的页面

当我的UserLogin页面加载时,我想检查用户数据库,如果它不存在,或者无法读取,我想将它指向NewUser页面.

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    CheckForUser();
    if (UserExists == false)
        this.Frame.Navigate(typeof(NewUser));
}
Run Code Online (Sandbox Code Playgroud)

问题是它永远不会导航NewUser,即使我评论出这个if条件.

c# navigation microsoft-metro windows-runtime

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

在Windows应用商店应用中使用httpclient获取UTF-8响应

我正在构建一个Windows应用商店应用,但我坚持从API获取UTF-8响应.

这是代码:

using (HttpClient client = new HttpClient())
{
    Uri url = new Uri(BaseUrl + "/me/lists");

    HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, url);
    request.Headers.Add("Accept", "application/json");
    HttpResponseMessage response = await client.SendRequestAsync(request);
    response.EnsureSuccessStatusCode();

    string responseString = await response.Content.ReadAsStringAsync();

    response.Dispose();
}
Run Code Online (Sandbox Code Playgroud)

reponseString总是包含奇怪的字符应该是像口音é,我试图使用流,但我在一些例子中发现的API无法在Windows RT存在.

编辑:改进代码,仍然是同样的问题.

.net c# utf-8 character-encoding windows-runtime

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

Windows Phone 8.1中ListView中行的交替颜色

我创建了一个Windows Phone 8.1运行时应用程序.

我正在使用ListView控件.

我想交替每个背景行颜色.

搜索后我发现此链接是之前的答案.

但这会给标记带来错误.一方面,没有'AlternationCount'属性.我假设这是因为它不是SilverLight而是RT?

如果有人可以给我发送链接,因为我正在寻找一个简单的例子.更好的是一个简单的代码示例将不胜感激.

listview listviewitem windows-runtime windows-phone-8.1

11
推荐指数
2
解决办法
3022
查看次数

使用MVVM模式实现异步"loadData"方法的最佳方法

我试图了解在调用更新我的ViewModel的异步方法时使用的最佳方法是什么.现在,让我说我有这样的事情:

视图:

private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
    //Call my ViewModel method to update the data the UI is bound to          
}
Run Code Online (Sandbox Code Playgroud)

视图模型:

public async Task loadData()
{
    this.Source = await loadStuffFromDatabaseAsync();
}
Run Code Online (Sandbox Code Playgroud)

现在,我不确定应该使用以下哪种方法:

1)在我的LoadState方法中,使用:

await Task.Run(async () => { await ViewMode.loadData(); });
Run Code Online (Sandbox Code Playgroud)

2)使用Task.Run而不等待Action内的loadData方法:

await Task.Run(() => { ViewModel.loadData(); });
Run Code Online (Sandbox Code Playgroud)

3)调用我的loadData方法:

await ViewModel.loadData().ConfigureAwait(false);
Run Code Online (Sandbox Code Playgroud)

4)调用loadData方法而不在我的View类中等待它,并在我的loadData方法中使用Task.Run:

视图:

private void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
    ViewModel.loadData();  
}
Run Code Online (Sandbox Code Playgroud)

视图模型:

public async void loadData()
{
    await Task.Run(async () => …
Run Code Online (Sandbox Code Playgroud)

c# wpf mvvm windows-runtime windows-phone-8.1

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

在Windows 10全屏使用CameraCaptureUI

他们是一种告诉CameraCaptureUI的方法,它应该以全屏模式启动,而不是一个小窗口?

我目前来自链接网站的代码:

CameraCaptureUI cameraUI = new CameraCaptureUI();

Windows.Storage.StorageFile capturedMedia =
    await cameraUI.CaptureFileAsync(CameraCaptureUIMode.Video);
Run Code Online (Sandbox Code Playgroud)

我的应用程序基于WinRT for Windows 8.1.

在Win 8客户端上,Camera App只是全屏启动,但是使用Win 10 Client,它会在一个小窗口中打开相机应用程序

c# camera windows-runtime

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