小编Buj*_*uju的帖子

如何将多个值绑定到WP7中的单个TextBlock.Text?

如何将2个属性绑定到单个TextBlock.Text(例如,名字和姓氏或当前值和最大值)?

就像是:

// IValueConverter
public object Convert( .... )
{
    return string.Format("{0} (max: {1})", currentValue, maxValue);
}
Run Code Online (Sandbox Code Playgroud)

问题是我想在TextBlock.Text进行更新currentValue maxValue改变.那么如何使用数据绑定监听2个或更多属性的更改?

除了用户之外还有其他方式IValueConverter吗?

data-binding textblock windows-phone-7

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

如何更改Panorama项目标题的字体大小?

设置全景项目标题的字体大小的最简单方法是什么,以便它可以用于我的应用程序中的所有项目标题?

font-size windows-phone-7 panorama-control

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

GPX Parser for Java?

是否有用于解析GPX文件的Java库?我需要将许多GPX文件解析为我们自己的数据结构(我们自己的数据库).

java api parsing gpx

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

如何使用LocationCollection缩放以适应WP7 Bing Maps控件?

如何在Windows Phone 7上将Microsoft.Phone.Controls.Maps.Map控件缩放到正确的缩放级别?

我有一个GeoCoordinates的LocationCollection,我自己计算了中心,但现在我如何计算正确的缩放级别以适应LocationCollection?

PS是否有开箱即用的方法来计算GeoCoordinates的中心,所以我不必自己计算?

编辑:我找到了另一个很好的解决方案:http://4mkmobile.com/2010/09/quick-tip-position-a-map-based-on-a-collection-of-pushpins/

map.SetView(LocationRect.CreateLocationRect(points));

location zoom bing-maps windows-phone-7

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

在给定的延迟后,简单的方法来执行方法?

是否有一种简单的方法可以在iOS开箱后的特定延迟后执行方法?

在iPhone上我会这样做:

[self performSelector:@selector(connectSensor) withObject:nil afterDelay:2.5];

然后,它将connectSensor在2.5秒后执行主线程(UI线程)上的方法.并且因为它是在主线程上自动调度的,所以您不必担心跨线程问题.(还有一个performSelectorOnBackground版本)

那么我如何在WP7中正确地做到这一点?

目前我正在用计时器完成这项工作,但我不确定这是否是一个很好的解决方案.

    private Timer timer;
    private void DoSomethingAfterDaly()
    {
        // ... do something here

        timer = new Timer( (o) => Deployment.Current.Dispatcher.BeginInvoke(() => NavigationService.GoBack()), null, 2500, Timeout.Infinite);            
    } 
Run Code Online (Sandbox Code Playgroud)

如何将其封装到扩展方法中,以便我可以调用this.Perform(MyMethod, null, 2500);

timer backgroundworker thread-safety windows-phone-7

7
推荐指数
2
解决办法
3969
查看次数

如何测试WP7应用程序?

是否有可能构建我们的应用程序的Ad Hoc构建并将其发送给我们的beta测试人员?这甚至可能吗?

beta beta-testing windows-phone-7

7
推荐指数
2
解决办法
2857
查看次数

在`readonly`声明的属性(包括类属性)中,`nonatomic`是否有意义?

编辑:此问题也适用于正常声明的属性(不仅适用于类属性)!

原帖:

让我说我有公共类方法sharedInstance,目前实现为getter方法:

@interface MyClass

+ (instancetype)sharedInstance;

- (void)doSomething;

@end

@implementation MyClass

+ (instancetype)sharedInstance {
    static MyClass *shared = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        shared = [[MyClass alloc] init];
    });
    return shared;
}

@end
Run Code Online (Sandbox Code Playgroud)

在Swift 3.0中访问此方法将如下所示: MyClass.shared().doSomething()

因此,为了使它更加开放,我们应该将类方法更改为类属性(Xcode 8中的新属性.但实际上我无法在Apple Docu中找到它,仅在WWDC 2016视频中找到它)

@interface MyClass

@property (class, nonatomic, readonly) MyClass *sharedInstance;

- (void)doSomething;

@end

// implementation stays the same
Run Code Online (Sandbox Code Playgroud)

现在在Swift代码中: MyClass.shared.doSomething()

那么nonatomic/atomic属性修饰符(不知道确切的术语)甚至对我在objc中实现的getter方法有意义吗?

objective-c ios declared-property swift class-properties

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

如何使用Blend在WP7中设置不同视觉状态的不同本地化字符串?

如何在WP7中使用Blend在不同的视觉状态下设置不同的本地化字符串而不使用任何代码?

我可以在不同的视觉状态下设置不同的非本地化字符串(虽然它会闪烁).这有效,但本地化字符串怎么样?

如果我在Blend中使用数据绑定更改字符串,Blend只会覆盖Base状态下的数据绑定,而不是我正在录制的实际状态.

编辑:

这是我本地化我的字符串的方式:

我有一个名为的资源文件AppPresources.resx.然后我会在代码中执行此操作:

    // setting localized button title
    mainButton.Content = AppResources.MainButtonText;
Run Code Online (Sandbox Code Playgroud)

然后我有一个GlobalViewModelLocator来自MVVM Light Toolkit的具有以下属性的数据绑定.

    private static AppResources _localizedStrings;
    public AppResources LocalizedStrings
    {
        get
        {
            if (_localizedStrings == null)
            {
                _localizedStrings = new AppResources();
            }
            return _localizedStrings;
        }
    }
Run Code Online (Sandbox Code Playgroud)

并在xaml文件中:

<Button x:Name="mainButton" Content="{Binding LocalizedStrings.MainButtonText, Mode=OneWay, Source={StaticResource Locator}}" ... />
Run Code Online (Sandbox Code Playgroud)

localization mvvm expression-blend windows-phone

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

如何在Swift的AnyClass上使用performSelector()调用类方法?

在ObjC中,您只需使用类方法调用类方法即可NSObject.

[Machine performSelector:@selector(calculate:) withObject:num];
Run Code Online (Sandbox Code Playgroud)

但是你如何在Swift 2.2中做到这一点?

@objc(Machine) // put it here, so you can simply copy/paste into Playground
class Machine: NSObject {
    static func calculate(param: NSNumber) -> String {
        if param.integerValue > 5 {
            return "42"
        }
        return "42" // there is only 1 answer to all the questions :D
    }
}

if let aClass = NSClassFromString("Machine") {
    let sel = #selector(Machine.calculate(_:))
    let num = NSNumber(integer: 1337)
    let answer = aClass.performSelector(sel, withObject: num) // compiler error
    // let …
Run Code Online (Sandbox Code Playgroud)

reflection ios performselector swift swift2.2

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

脉冲动画

我想在一个简单的UIImageView上构建一个脉冲动画.ImageView会变大一点,然后再回到原来的大小.

我使用了以下代码:

- (void) doCoolAnimation {
    [UIView beginAnimations:@"glowingAnimation" context:nil];
    [UIView setAnimationRepeatAutoreverses:YES];
    [UIView setAnimationRepeatCount:INT_MAX];
    [UIView setAnimationDuration:0.25];
    [UIView setAnimationBeginsFromCurrentState:YES];
    imageView.transform = CGAffineTransformMakeScale(1.15, 1.15);
    [UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)

这在iOS3上工作正常,但仅在iOS4上有效.

我有一个UITabBarController,其中包含2个视图.第一个是带有动画的imageView,一旦加载视图,动画就会启动.但是在我切换到第二个视图(使用TabBar)并返回后,动画在iOS4上不再运行了.(但在iOS3上我可以在这两个视图之间切换,动画效果仍然很好.)

我也尝试过每秒调用doCoolAnimation的计时器,但这无助于再次启动动画.

有人可以解释为什么在视图切换后动画消失了吗?是否有可以使其在iOS4上运行的解决方法?

iphone animation uitabbarcontroller

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