我希望使用完全自定义的片段的Android对话框:不包括任何平台对话框主题片段.例如,像这样:

我该怎么做呢?
关于这段代码:
static async Task<string> testc()
{
Console.WriteLine("helo async " + Thread.CurrentThread.ManagedThreadId);
await Task.Run(() => {
Thread.Sleep(1000);
Console.WriteLine("task " + Thread.CurrentThread.ManagedThreadId);
});
Console.WriteLine("callback "+Thread.CurrentThread.ManagedThreadId);
return "bob";
}
static void Main(string[] args)
{
Console.WriteLine("helo sync " + Thread.CurrentThread.ManagedThreadId);
testc();
Console.WriteLine("over" + Thread.CurrentThread.ManagedThreadId);
Thread.Sleep(2000);
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
helo sync 10
helo async 10
over10
task 11
callback **11**
Run Code Online (Sandbox Code Playgroud)
哪个是好的:await之后的代码片段与任务本身在同一个线程中执行.
现在,如果我在WPF应用程序中执行此操作:
private void Button_Click_1(object sender, RoutedEventArgs e)
{
Console.WriteLine("helo sync " + Thread.CurrentThread.ManagedThreadId);
testc();
Console.WriteLine("over" + Thread.CurrentThread.ManagedThreadId);
Thread.Sleep(2000);
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
它生成以下输出:
helo sync 8 …Run Code Online (Sandbox Code Playgroud) 在Mono和MonoTouch下,我看到我打电话之间有大约500毫秒的延迟:
StartNew(Action<object> action, object state, CancellationToken cancellationToken,
TaskCreationOptions creationOptions, TaskScheduler scheduler);
Run Code Online (Sandbox Code Playgroud)
当工作代码实际开始执行时.
我创建了一个测试来显示:
public static class TestTaskFactory
{
private class TaskInfo
{
public int Number;
}
private static int NUM_TASKS = 5;
private static int NumFinished = 0;
public static void Run()
{
for (int n = 1; n <= NUM_TASKS; n++)
{
Log("Starting task #" + n + " ...");
var task_info = new TaskInfo { Number = n };
var task = Task.Factory.StartNew(Worker, task_info, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default);
Thread.Sleep(0); …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 SkiaSharp 将 SVG 文件转换为 PNG。我知道有很多选择,但我想评估它的 SVG 负载支持。
这可能吗?我试过这个:
var svg = new SKSvg(new SKSize(200, 200));
svg.Load("image.svg");
var bitmap = new SKBitmap((int)svg.CanvasSize.Width, (int)svg.CanvasSize.Height);
var canvas = new SKCanvas(bitmap);
canvas.DrawPicture(svg.Picture);
canvas.Flush();
canvas.Save();
using (var image = SKImage.FromBitmap(bitmap))
using (var data = image.Encode(SKImageEncodeFormat.Png, 80))
{
// save the data to a stream
using (var stream = File.OpenWrite("image.png"))
{
data.SaveTo(stream);
}
}
Run Code Online (Sandbox Code Playgroud)
但我只是得到一个空图像。
在MonoTouch下,我想访问NSUbiquitousKeyValueStoreDidChangeExternallyNotification(iOS5/iCloud键值入站更新)通知数据:
有一个示例@ http://docs.xamarin.com/@api/deki/files/321/=iCloud.zip,但上面访问的代码已注释掉并且有错误(它如何尝试将原因转换为整数是错的).我在这附近:
NSNotificationCenter.DefaultCenter.AddObserver(new NSString("NSUbiquitousKeyValueStoreDidChangeExternallyNotification"),
delegate(NSNotification n)
{
NSDictionary userInfo = n.UserInfo;
NSNumber reason = (NSNumber)userInfo.ObjectForKey(
new NSString("NSUbiquitousKeyValueStoreChangeReasonKey"));
int ireason = reason.IntValue;
NSArray changedKeys = (NSArray)userInfo.ObjectForKey(
new NSString("NSUbiquitousKeyValueStoreChangedKeysKey"));
});
Run Code Online (Sandbox Code Playgroud)
我想出了如何将理由作为整数.但是如何将NSStrings的NSArray转换为简单的字符串[]?我以前从未使用过核心的Objective-C类包装器,抱歉.
我正在尝试将 UserControl 内某些控件上的 FontSize 设置为 UserControl 级别的 FontSize。这不起作用:
<UserControl x:Class="TestWpfApplication1.Scratch.UserControlFontSizeProp"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<TextBlock
FontSize="{Binding RelativeSource={RelativeSource self},Path=FontSize}">
Text
</TextBlock>
</Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?谢谢。
我有一个新的MonoTouch绑定部分工作.但是变量arguments函数在运行时会导致崩溃..h文件:
FOUNDATION_EXPORT void __BFLog(NSInteger lineNumber, NSString *method, NSString *file,
BFLogLevel level, NSString *tag, NSString *format, ...);
Run Code Online (Sandbox Code Playgroud)
C#:
internal static class CFunctions
{
// extern void __BFLog (NSInteger lineNumber, NSString * method,
// NSString * file, BFLogLevel level, NSString * tag, NSString * format, ...);
[DllImport ("__Internal", EntryPoint = "__BFLog")]
internal static extern void BFLog (nint lineNumber, string method, string file,
LogLevel level, string tag, string format, string arg0);
}
Run Code Online (Sandbox Code Playgroud)
因为我会在arg0中传递""并真正传递格式部分中的字符串.但是在打电话时,我看到了这个崩溃:
critical: at <unknown> <0xffffffff>
critical: at (wrapper managed-to-native) BugfenderSDK.CFunctions.BFLog (System.nint,string,string,BugfenderSDK.LogLevel,string,string,string) …Run Code Online (Sandbox Code Playgroud) c# ×4
xamarin.ios ×3
wpf ×2
android ×1
asynchronous ×1
icloud ×1
ios5 ×1
mono ×1
skiasharp ×1
svg ×1
wpf-controls ×1
xamarin ×1