如何找出Canvas在xaml文件中创建的大小?
例如,我创建一个Canvas by
<Page
x:Class="MyApp.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:MyApp"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Canvas x:Name="canvas" Background="White">
</Canvas>
</Page>
Run Code Online (Sandbox Code Playgroud)
全屏是白色或我为该画布指定的任何颜色
我在课堂上试过但没有运气
double h = canvas.Height; // NaN
h = canvas.ActualHeight; // 0
Run Code Online (Sandbox Code Playgroud)
那么如何找出该画布的实际尺寸?或者大小是0而不是如何使画布全屏尺寸?
我是新的C#和都市开发人员,因此比起iOS的所有功能都很困惑.
有什么区别
NSNumber *number = [[NSNumber alloc]initWithInt:13];
Run Code Online (Sandbox Code Playgroud)
和
NSNumber *number = [NSNumber initWithInt:13];
Run Code Online (Sandbox Code Playgroud)
当两者都解决相同的目的时为什么要分配?
我有一个使用ARC的应用程序,它使用MRC(非ARC)静态库.在静态库中,retain/ release被覆盖以提供一些自定义弱引用/缓存行为([super retain/release]当然称为).问题是,在启用ARC的代码中不允许retain/ release不允许使用在启用ARC的代码中覆盖retain/的类是否可以release?目前它似乎运作良好,但我不确定这是否依赖于未来可能会破坏的未定义行为.
还有什么理由禁止覆盖retain/ release?是因为编译器完成了一些特殊的优化,绕过了消息绑定过程来加速方法调用?我知道_objc_storeStrong调用是由执行引用计数的编译器生成的,所以这是否意味着被覆盖retain/ release不能保证在ARC下被调用?
我正在编写一个iOS应用程序,它使用Dropbox Datastore API在多个设备之间同步数据.
在Android上,我能够告诉服务在启动时启动,这使它能够同步设备关闭时可能发生的任何更改.
我无法找到一种明确的方式让我的应用在iOS上做同样的事情.
那么,有没有人有任何建议:
必须这样 - Facebook和Gmail等应用程序会在设备完成启动后立即开始同步.
基本上如何使以下代码编译?
我知道它失败了,因为编译器试图评估类似的东西,([](int &i){})(0)但是如何解决该问题呢?
template <class TElement>
struct foo {
TElement _e;
foo(TElement e) : _e(e){}
template <class Lambda>
void bar(Lambda f) {
using TResult = decltype(std::declval<Lambda>()(std::declval<TElement>()));
}
};
int main() {
foo<int>(0).bar([](int i){}); // compile
foo<int>(0).bar([](int &&i){}); // compile
foo<int>(0).bar([](int const &i){}); // compile
foo<int>(0).bar([](int &i){}); // failed
}
Run Code Online (Sandbox Code Playgroud) 他们是一样的,copy和Block_copy()?怎么样?如果没有,有什么区别?
我好奇这一段时间,所以我决定做一些研究.
看看我发现了我的答案.
我的关于"Swift编程语言"的iBook包含以下描述强制解包if语句的功能示例:
let possibleNumber = "123"
let convertedNumber = possibleNumber.toInt()
if convertedNumber {
println("\(possibleNumber) has an integer value of \(convertedNumber!)")
} else {
println("\(possibleNumber) could not be converted to an integer")
}
// prints "123 has an integer value of 123”
Run Code Online (Sandbox Code Playgroud)
但这不适合我.Xcode的(6.0.1)要求我明确地比较nil ,如
if (convertedNumber != nil) {
println("\(possibleNumber) has an integer value of \(convertedNumber!)")
} else {
println("\(possibleNumber) could not be converted to an integer")
}
Run Code Online (Sandbox Code Playgroud)
我的iBook错了吗?
我在 C++ 中有一个旧的工厂实现,我想在其中使用唯一指针而不是原始指针。我的代码的一个最小示例如下。我有一个基类A和一个派生类B。在中main(),我传递1给中的create方法A,而b1现在的类型更改为B.
#include <iostream>
#include <map>
class A {
public:
A() {}
virtual void Foo() {}
std::map<int, A *> ®isterType() {
static std::map<int, A *> map_instance;
return map_instance;
}
A *create(int n) { return registerType()[n]; }
};
class B : A {
public:
B() { registerType()[1] = this; }
void Foo() { std::cout << "I am B!\n"; }
};
static B b0;
int …Run Code Online (Sandbox Code Playgroud) 我使用angular2 rxjs来测试它的多播功能,这是我的代码:
var source = Observable.from([1, 2, 3]);
var subject = new Subject();
var multicasted = source.multicast(subject);
// These are, under the hood, `subject.subscribe({...})`:
multicasted.subscribe({
next: (v) => console.log('observerA: ' + v)
});
multicasted.subscribe({
next: (v) => console.log('observerB: ' + v)
});
// This is, under the hood, `source.subscribe(subject)`:
multicasted.connect();
Run Code Online (Sandbox Code Playgroud)
我收到了错误信息:
"Subject <{}>"类型的参数不能分配给类型的参数
'Subject<number> | (() => Subject<number>)'.
Type 'Subject<{}>' is not assignable to type '() => Subject<number>'.
Type 'Subject<{}>' provides no match for the signature '(): Subject<number>'
Run Code Online (Sandbox Code Playgroud) 在一个大型项目上,我正在运行gulp任务来分解和连接很多js文件.
在文件更改时,在重建所有捆绑包之前,运行jshint插件以验证任何js违规.
拥有大量的js文件,这些任务需要花费很多时间.
我想只在更改的文件上运行jshint,而不是在所有将被捆绑的文件上运行...任何关于如何从下面的任务开始的想法?
gulp.task("lint", function() {
gulp.src("./src/**/*.js")
.pipe(jshint())
.pipe(jshint.reporter("default"));
});
Run Code Online (Sandbox Code Playgroud)
谢谢
objective-c ×3
c++ ×2
ios ×2
angular ×1
c# ×1
c++11 ×1
factory ×1
gulp ×1
javascript ×1
jshint ×1
multicast ×1
rxjs ×1
swift ×1
this ×1
typescript ×1
unique-ptr ×1
windows-8 ×1
xaml ×1