My PC build.

  • Case – Fractal Design R4 (Black)
  • Processor – i5 4670k
  • CPU cooler – Coolmaster 212 Evo
  • Motherboard – Gigabyte G1.Sniper Z87
  • RAM – Corsair Vengeance 8gb low profile black
  • HDD – Seagate Barracuda 1tb
  • SSD – Kingston 120gb
  • GPU – Gigabyte GTX980
  • PSU – Corsair CX750M

Asking for 700. Don’t really know how much to ask but will take offers. Nothing ridiculous however. Can deliver if it’s on the way down to Essex, if not, collection pref unless you can organise…

My PC build.

Tips for porting apps from Windows Phone Silverlight to UWP

hero_silverlight

Windows Store has always had a healthy community of Windows Phone Silverlight developers. Because Windows Store has over 270 million active Windows 10 devices today, we’d like to help our developer base take advantage of all that’s new in the Universal Windows Platform (UWP).

The Windows Dev Center has a porting guide to help you manually migrate your Windows Phone Silverlight apps to UWP. In this post, we’ll look at automated migrations using the Mobilize.NET’s Silverlight bridge, which is available to automate parts of the migration process of your code from Silverlight 8.x to UWP. The tool will generally take care of up to 80% of your migration. You can then fall back on the manual guide to complete the remaining 20%.

There are five steps to updating your app using the bridge:

  1. Download the bridge
  2. Run the tool
  3. Troubleshooting missing DLLs
  4. Troubleshooting unconverted Silverlight code
  5. Troubleshooting controls and events that behave differently between platforms

Download the bridge

You can get the bridge on Mobilize.NET’s download page. You will also need Visual Studio 2015 with at least Update 1. You can get the Visual Studio Community edition for free. Finally, you also need the Windows 10 SDK Build 10586.

Run the tool

The bridge handles recreating your project as a Universal Windows Platform project. It also converts your app manifest files to the new format in UWP. Areas where the bridge can’t automate 100% of the process is in determining how to translate particular XAML markup and API calls. Understanding what is needed after the automated migration as well as why, will help you to better address these remnants and bring your app to the UWP.

Running the tool is fairly straightforward. You specify two parameters. The first parameter is the path of the project file for the Silverlight project you want to move to UWP. The second is the name of a directory where you would like the resulting UWP files to be saved. Then press Start.

1_runthetool

Troubleshooting missing DLLs

If your original Windows Phone Silverlight app references control library DLLs which have not been migrated to UWP and for which there is no source code, the bridge will simply remove the reference in your converted UWP project. This will leave you with code that has unrecognized namespaces.

This scenario is most likely to occur if your older code uses 3rd party libraries. Sometimes this can also occur simply because you have misplaced source code you wrote yourself. The most straightforward way out of this situation is to find an equivalent standard control to take the place of the inaccessible control.

From:



<mycontrols:LongListSelector ItemsSource="{Binding Users}" SelectedItem="{Binding SelectedUser, Mode=TwoWay}" ItemTapCommand="{Binding SwitchAccountCommand}" ItemTemplate="{StaticResource UserTemplate}" ScrollViewer.VerticalScrollBarVisibility="Disabled" />


Changed to:



<ListView ItemsSource="{Binding Users}" SelectedItem="{Binding SelectedUser, Mode=TwoWay}" ItemTapCommand="{Binding SwitchAccountCommand}"
ItemTemplate="{StaticResource userTemplate}"
ScrollViewer.VerticalScrollBarVisibility="Disabled" />


In the example above, the custom LongListSelector control is manually replaced with a UWP ListView. This manual fixup can be refined even further. The LongListSelector has flatlist and jumplist modes that aren’t supported by the ListView control. We can mitigate this by surrounding the ListView with a SemanticZoom in order to recreate the original list behavior.

Tip: Control libraries you may have been using in your Windows Phone Silverlight app may not have updated versions for UWP. Make note of these before you start the conversion process.

Manual migration examples on the Windows Dev Center and forums will help you when you are troubleshooting code that Mobilize.NET’s Silverlight bridge doesn’t automatically migrate for you. You should also consult Mobilize.NET’s support forums for additional assistance with conversion problems.

For additional resources, see…

Troubleshooting unconverted Windows Phone Silverlight code

The bridge uses mapping tables to determine how API calls and XAML ought to be translated from Windows Phone Silverlight to UWP. The bridge currently includes over 2,300 such mappings. While this is a lot, this means there will still be APIs remaining that the bridge doesn’t know how to handle. In many cases, this occurs because there is no direct UWP equivalent for the original Silverlight code.

Windows Phone Silverlight to UWP namespace and class mappings is a resource that will help you look up platform mappings as well as identify code that doesn’t have a UWP equivalent (for instance, the System.Environment class and the Microsoft.Phone.Globalization namespace). When there is no equivalent code in UWP, you can do one of two things:

  • Alter the unconverted code so it uses a different UWP class
  • Create a helper class to wrap the unconverted class code

In the following example, the GeoCoordinateCollection class is not supported in UWP and does not have a one-for-one mapping to another class.



foreach (var myPoint in myPointList)
{
    GeoCoordinateCollection coordCollection = new GeoCoordinateCollection();
    foreach (Geocoordinate g in myPoint.Path)
    {
      coordCollection.Add(new GeoCoordinate(g.Latitude, g.Longitude));
    }
 
    MapPolygon mapPolygon = new MapPolygon()
    {
      Path = coordCollection
    };
    m.MapElements.Add(mapPolygon);
 }


This is the sort of task that is difficult for an automated mapper but relatively easy for a human being. Instead of a GeoCoordinateCollection object, you can use a generic List of BasicGeoposition types. The list can then be passed to a new Geopath instance and assigned to the UWP MapPolygon.



foreach (var myPoint in myPointList)
 {
     List<BasicGeoposition> coordCollection = new List<BasicGeoposition>();
     foreach (Geocoordinate g in myPoint.Path )
     {
coordCollection.Add(new BasicGeoposition() { Latitude = g.Latitude, Longitude = g.Longitude });
     }

     Geopath geoPath = new Geopath(coordCollection);
     MapPolygon mapPolygon = new MapPolygon()
        {
           Path = geoPath 
        };
     m.MapElements.Add(mapPolygon);
}


Alternatively, you can also just implement a custom version of the missing GeoCoordinateCollection class in such a way that the original code structure doesn’t need to change. An additional advantage of this approach is that if the class is used in multiple places, you will have much less code to rewrite by using this wrapper class approach.



public class GeoCoordinateCollection
{
    private List<BasicGeoposition> coordCollection = new List<BasicGeoposition>();
 
    public void Add(Geocoordinate basicGeoposition)
    {
        BasicGeoposition bg = new BasicGeoposition()
        {
            Altitude = basicGeoposition.Point.Position.Altitude,
            Latitude = basicGeoposition.Point.Position.Latitude,
            Longitude = basicGeoposition.Point.Position.Longitude
        };
        coordCollection.Add(bg);
     }
 
     public static implicit operator Geopath(GeoCoordinateCollection g)
     {
         return new Geopath(g.coordCollection);
     }
}


As mentioned previously, not all available mappings have been implemented in the bridge and this requires a manual fix. For example, the ContentPropertyAttribute, which is used to identify that a specific property of the attributed type should be considered the XAML content property, requires that the namespace be updated as well as the way the attribute, MarketName, is declared.

From:



using System.Windows.Markup;
[ContentProperty("MarketName")]
public class Market
{
    public Market()
    {
    }

    public string MarketName
    {
        get { return _name; }
        set { __name = value; }
    }

    private string __name;
}


Changed to:



using System.UI.Xaml.Markup;
[ContentProperty(Name="MarketName")]
public class Market
{
    public Market()
    {
    }

    public string MarketName
    {
        get { return _name; }
        set { _name = value; }
    }

    private string _name;
}


Thanks to the conversions that have already been mapped out, the bridge can take care of up to 80% of your code conversions for you. Nevertheless, some unconverted code may manage to fall through the cracks. The namespace and classes mapping reference linked at the start of this section can help you to identify many of them.

For additional resources, see…

Troubleshooting controls and events that behave differently

The last major category of common automation problems concerns mappings that exist but do not work in all real-world scenarios. Take, for instance, the Windows Phone Panorama control. In UWP, this has been replaced by the Hub control. Internally, however, the Panorama and Hub controls are structured differently, and the XAML for the two controls are visibly different.

From:



<controls:Panorama>
...
    <controls:PanoramaItem>
          <TextBlock x:Name="myText" />
    </controls:PanoramaItem>
...
</control:Panorama>


Changed to:



<Hub>
...
       <HubSection>
          <DataTemplate>
            <TextBlock x:Name="myText" />
          </DataTemplate>
        </HubSection>
...
</Hub>


The best strategy for conversions of this type, as shown in this code walkthrough, is to use MVVM for binding to decouple the control from the state data and avoid the brittleness introduced by the automated conversion. Often, however, it is too late to retrofit an architecture on your app. In these cases, you may just need to work through the necessary conversions for each unique case.

For additional resources, see…

Start bringing your apps to the Universal Windows Platform today

Moving your Windows Phone Silverlight app to a UWP app will enable you to take advantage of all the features of the platform. It will also allow your app, with some UI enhancements, to be available for additional Windows 10 devices, from desktops, tablets, and Surface Hub to Xbox One and potentially even HoloLens. Mobilize.NET’s Silverlight bridge can accelerate the process of migration and the tips in this article can help you with the final stretch.

Announcing Windows 10 Mobile Insider Preview Build 14322

Hi everyone,

Today we are releasing Windows 10 Mobile Insider Preview Build 14322 for Windows Insiders in the Fast ring.

As a reminder – we are now releasing builds for Mobile from our Development Branch to the list of devices that will be capable of receiving updates as part of the Windows Insider Program except the Lumia 635. We will add the Lumia 635 at a later date. As we stated previously, only devices which are eligible to receive the Windows 10 Mobile upgrade will be able to get preview builds from the Development Branch going forward.

Here’s what’s new in Build 14322

Improvements to Action Center & Notifications

Visual changes to Action Center: Individual app notifications in Action Center no longer show the app icon repeated for each notification and will only be seen in the header that groups together all the notifications specific for that app. This change allows for more space in Action Center to show more content.

Visual Update for Action Center Notification Imrpovements

Visual changes to Notifications: We’re making Action Center richer with support for notifications with more flexible layouts similar to the richness of Live Tiles. Notifications with images will now display larger than they did previously. Notifications can have “hero image” for content that is an even bigger image size to make content in notifications pop even more.

Cortana notification

Cortana notifications in Action Center: We have also added new insights from Cortana to ensure you are not missing anything important, such as a meeting conflict or anything she needs to remind you about.

Notification prioritization in Action Center: You can manage the notification settings for individual apps by going to Settings > System > Notifications & actions and prioritize which app notifications are more important to you. You can prioritize its notifications to be in one of 3 levels: Normal, High, or Top. You can also adjust how many notifications are visible per app. The default is now 3 per app. If an app has more than 3 notifications, just click or tap to expand and see all notifications for that app. This feature is also available on PC starting with Build 14316.

Customize your Quick Actions in Action Center: You can add, remove and re-arrange the Quick Actions that show up in Action Center. To customize your Quick Actions, just go to the Settings > System > Notifications & actions. In this settings page, you will see a replica of your Quick Actions as it appears in Action Center, and with a simple press and hold you can move the Quick Actions to the place where you want them to be. Then to add or remove a Quick Action, there is a link below the grid that will allow you to turn on or off the available Quick Actions.

Customizing Quick Actions

Cortana Improvements

More ways to create Cortana Reminders: We are making it easier and quicker to set a reminder in Cortana with 2 new exciting ways to create reminders. You can now create a Photo Reminder by taking a picture of something you want to be reminded about, like that beer you just tried and want to pick up next time you’re at the store. You can also now set reminders on content from UWP apps that utilize the share contract in Windows, like Microsoft Edge and the News app, so you don’t forget to read that article your friend sent you. You can share an article from the News app to Cortana and have her remind you to read it at a later time. This even works with photos from your collection in the Photos app! Give it a try.

Photo Reminders in Cortana

Updates to the Settings app

Icons for individual settings pages: All pages in the Settings app now have individual icons associated with them. These individual icons will also be shown when you pin a settings page to Start. And we have also added a dropdown flyout with page suggestions that will appear as you type into the Settings search box. These changes are designed to make it easier to find the settings you are looking for.

Icons on settings pages in Settings app

Navigation bar settings page and vibration setting: We created a page for the navigation bar at Settings > Personalization > Navigation bar. You can now use this page to configure preferences for vibration and double tap the navigation bar to turn off the screen.

Navigation bar settings page

Glance screen settings have moved: As part of our work to make settings more discoverable and user friendly, we’ve simplified the Glance settings options and moved the page out of the Extras section in the Settings app. These settings can now be found via Settings > Personalization > Glance screen. With this change, Glance settings no longer need to be downloaded or updated from the Store.

Glance screen settings page

Updated Battery Settings and Battery Saving Experience: Just like what was seen in last week’s PC build, there is now a single entry point for all battery related settings in the Settings app – including Battery Saver. This also includes the updated the Detailed Battery Use page so you can now manage the per-app background settings inline without going to a second page. You can also adjust the percentage in which Battery Saver turns on (which is at 20% by default) – something we had with Windows Phone 8.1 that Insiders wanted to see us re-implement as we merged Battery Sense into the Settings app for both PC and mobile.

Updated Windows Update Settings: You can now also set the time in which you are most active on your phone just like on your PC by adjusting active hours under Settings > Update & security > Windows Update. Windows Update will avoid automatically installing updates during your active hours on your device.

Updated emoji

This build brings our new emoji to your phone. As part of this work, the emoji section of the keyboard has been slightly reorganized to better align with the newly available emoji. It’s now arranged as follows: Favorites, Smileys and Animals, People, Celebrations and Objects, Food and Plants, Transportation and Places, Symbols, and ASCII emoticons.

Updated emoji

For more on our new emoji, check out my blog post for Build 14316 for PC.

New Microsoft Emoji

Microsoft Edge Improvements:

Better copy/paste: We’ve made a couple of improvements to copy and paste on the phone. When you are typing into an edit box on a web page, you will now be able to use the paste button above the keyboard. Also, if you select text on a web page the copy button will appear immediately near the selection.

Better tab behavior: Microsoft Edge keeps your tabs under control when you use it with apps on your phone. If you tap on a link in an app that opens a new tab in Microsoft Edge, pressing the back button when you’re done will close that tab, then take you back to the app. Your tabs list stays lean and relevant, by smartly closing tabs you’re done with.

You can also check out the Microsoft Edge changelog website for more information on platform changes in Microsoft Edge with Insider Preview builds.

USB Ethernet Support with Continuum (Mobile)

Continuum-capable phones now include support for most USB Ethernet adapters. If you connect a USB Ethernet adapter your Lumia 950 or Lumia 950 XL via the Microsoft Display Dock for example – you will have network connectivity through an attached Ethernet cable. A few notes on this feature:

  • You may see an error message the first time you connect. There is nothing wrong with your adapter, and the message will be eliminated in a future update.
  • Not all adapters are supported yet – more will be added in a future update.
  • In this update, you will not see a visual indicator that you are connected, so if you want to double-check that it’s working you can turn off Wi-Fi and cellular data.
  • Windows 10 Mobile supports proxy configuration for Wi-Fi and VPN connections. Proxy support for LAN connections will be available in a future update.

Improved experience while on Lock screen

Camera button on the Lock screen: When your phone is locked, the back button on the navigation bar is now replaced with a camera button. Press and hold this button to launch the Camera app from the Lock screen.

Media controls show on top of the Lock screen: We’ve heard a lot of feedback on this so we’re really excited to get this out to Insiders. While you are listening to music, you will now be able to control the music you are listening to right from the Lock screen! If you turn on your phone’s screen, the media controls will now be shown embedded right on top of the Lock screen.

Medis controls on Lock screen

Commenting in the Feedback Hub

Just like on PC, you also have the ability to comment on feedback inside the Feedback Hub on your phone in addition to the responses from our engineering team you have seen in the app already (we call these “sticky comments”). So in addition to up-voting on feedback, you can now comment on feedback too.

Messaging Everywhere Preview Coming Soon

We will soon be enabling a preview of the “Messaging everywhere” feature in Windows 10 that allows you to send and receive text messages from your phone directly from your Windows 10 PC’s. You will see options for this feature in the Messaging app on PC but not on Mobile. A newer Mobile build is required for this experience to fully light up. More to come on this when the experience is live.

Here’s what’s fixed for Mobile

  • While we were researching issues impacting typing accuracy on end user phones, we discovered that many user dictionaries contain incorrect words or have been corrupted over time. As a one time-measure, we are resetting user dictionaries on phones to address this issue. Note that if you suspect that your user dictionary is interfering with efficient typing, you can always manually clean it by going to Settings > Privacy > Speech, Inking and Typing and select “Stop getting to know me”, “Turn off”, “Start getting to know me”, “Turn on”. In addition to this, we have added a new context to the Feedback Hub, so you can now directly log feedback for the typing suggestions or corrections. It can be found under the Input and Interaction Methods category. If you’re reporting an issue, specific examples of what you’re seeing are always helpful.
  • We fixed an issue resulting in the screen flickering while watching a full screen video or when you first launched the Camera app.
  • We’ve tuned the alarm volume ramp up for alarms using your music – the initial volume will be the same softer level we started using in earlier builds as a result of your feedback, but now it will get louder faster.
  • We updated the reminder and alert notification logic, so if you answer a call while at least one notification is visible, you no longer need to dismiss that notifications before being able to end the call. You will now see the call in-progress banner above the notification while in this state, and tapping it will bypass any existing notifications without having to first dismiss them.
  • We fixed an issue where pressing the hardware volume controls would quit Netflix playback.
  • We fixed an issue where Chinese Input Method Editor users would lose their typing history after reboot, as well as an issue resulting in the Chinese 12-key keyboard crashing if you typed “erbo” (㜦).
  • We fixed an issue where swiping from Start to the All apps list would get stuck after exiting Continuum.
  • We fixed an issue where music would sometimes stop playing a few minutes after the device had been locked or the screen had been turned off.
  • We fixed an issue resulting in the keyboard dismissing when you tapped the first key after having interacted with the app bar.
  • We fixed an issue where trying to delete and re-type an auto-correction would result in it getting auto-corrected again.
  • We fixed an issue where locking and unlocking the phone quickly with Action Center open could result in Start being stuck on resuming.
  • We fixed an issue where the keyboard would sometimes show all black when responding to a text in the Action Center above the Lock screen.
  • We fixed an issue where users with their Lock screen set to Bing would just see the default Windows 10 background.
  • We fixed an issue resulting a missing Windows logo above the Start screen in the Task Switcher.
  • We fixed an issue where phone call could stop ringing if interrupted by an SMS notification.
  • We fixed an issue where the app name on the Start tile could be truncated even though there’s space available to display it.
  • We fixed an issue where volume control would continue to show headphones volume after headphones had been disconnected.
  • Notification text in banners and Action center will now grow larger when the Ease of Access “Text Scaling” option is enabled.

Known issues for Mobile

  • Language and speech packs are unable to be downloaded and will show errors due to a backend issue.
  • We’re investigating a crash with the Camera app when going into your camera roll.
  • There is an issue in which you may see duplicate apps under All apps showing as pending despite being installed and usable on your phone. You may also see some apps stuck in the Store.
  • You may see square boxes in certain apps when using some of the new emoji – we’re still getting support for the new emoji added throughout the systems, this will be resolved in a future build.
  • In some cases, users might get in a state where neither space or enter are working on the keyboard. If that happens, pressing and holding one of the apps in the All apps list until a context menu appears may resolve the issue. If this doesn’t work, you will need to reboot.
  • UPDATE: There is a bug in this build preventing Tweetium from launching.
  • UPDATE: Facebook Messenger will fail to launch from Start or All apps. As a workaround, you can open Facebook Messenger via the Facebook app or open Facebook Messenger from Cortana. You can also tap on notifications from Facebook Messenger to open the app as well. This bug impacts numerous other Windows Phone 8.1 apps such as WeChat, Transfer My Data, and UC Browser too.

As always – thank you for being Windows Insiders and make sure to send us feedback on any issues you run into with this build in the Feedback Hub.

Thanks,
g

 

New HP Probook 455 G2 laptop – AMD A8/4GB/15"/500gb/Win Pro – £175

Hello

I have a brand new HP ProBook 455 G2 laptop. It was purchased last year and has a warranty until 20th May 2016. I opened the box but haven’t ever taken anything out of the box – everything is still in the same condition as I received it. This was one of two I purchased, the other was a gift for my brother who has found it to be a great laptop. I’ve also sold a laptop on avforums previously.

I’m based in South East London – I’d prefer to deliver this / meet in the middle somewhere in…

New HP Probook 455 G2 laptop – AMD A8/4GB/15″/500gb/Win Pro – £175

GTX 970 or AMD 290

Looking to upgrade for the Vive/Rift
Would prefer with receipt/warranty , bonus if its with a long manufacturer warranty and can be provided with proof of purchase.

Please no manually overclocked versions, only factory with no tampering. Additional game codes would be welcome, like the Witcher 3 :)

Location: London

______________________________________________________
This message is automatically inserted in all classifieds forum threads.
By replying to this…

GTX 970 or AMD 290