我一直试图App bar在WinRT metro app(C#/ XAML)中实现,但不知道从哪里开始.我尝试过使用<ApplicationBar/>标签,但是出现了Type not found错误.
网上没有帮助,有人可以用答案更新这篇文章,以便它也可以作为其他程序员的参考吗?
只有一个JavaScript样本没有太多帮助.
我面临的问题如下:
我开发了一个可移植的类库来封装服务连接.在这个类库中有一个包含字符串的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) 我试图在"Windows Store"(又名Metro Style)应用程序中用C++/CX编写几行代码,我很惊讶地发现Platform :: String缺少许多基本的字符串操作,如"replace"或"指数".
我想我可以使用内部数据,将其传递给std:string实例并应用我需要的操作,但我想知道我是否缺少一些"仅限Platform ::*"的方法来执行这些操作.
请注意这个问题是关于C++/CX,而不是C#.
我有一个WebView组件,用于在我的应用程序中显示HTML广告.当用户在WebView中单击广告时,我想在外部浏览器中打开广告链接.我怎么做?
我需要像WP7浏览器那样的OnNavigating.我尝试了WebView的Tapped事件,但即使设置IsTapEnabled = true,它也永远不会被调用.我需要类似的东西
我想编写自己的控件,当调用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
当我的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条件.
我正在构建一个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存在.
编辑:改进代码,仍然是同样的问题.
我创建了一个Windows Phone 8.1运行时应用程序.
我正在使用ListView控件.
我想交替每个背景行颜色.
搜索后我发现此链接是之前的答案.
但这会给标记带来错误.一方面,没有'AlternationCount'属性.我假设这是因为它不是SilverLight而是RT?
如果有人可以给我发送链接,因为我正在寻找一个简单的例子.更好的是一个简单的代码示例将不胜感激.
我试图了解在调用更新我的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) 他们是一种告诉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,它会在一个小窗口中打开相机应用程序
windows-runtime ×10
c# ×7
.net ×2
windows-8 ×2
winrt-xaml ×2
xaml ×2
c++-cx ×1
camera ×1
listview ×1
listviewitem ×1
mvvm ×1
navigation ×1
portability ×1
resources ×1
utf-8 ×1
visual-c++ ×1
wpf ×1