Microsoft says Windows 10 Anniversary Update is coming August 2nd

microsoft-build-2016Windows 10's first big update will arrive August 2nd — or, at least, that's what it sounds like. Microsoft published a blog post earlier today that included only a headline, "Microsoft announces Windows 10 Anniversary Update available Aug. 2," and then pulled the story moments later. It's possible that Microsoft just got the date wrong, but, more likely than not, Microsoft seems to have just clicked the publish button earlier than it meant to. Presumably, a formal announcement will come soon.

Microsoft announced Windows 10's Anniversary Update back in March, during its Build conference. The update puts a major focus on Windows Ink, building out its feature set to make stylus use far more powerful. It also brings extensions to Edge, as well as smaller improvements to Hello and Cortana, along with some minor interface tweaks.

Docker opens up Docker for Windows beta to everyone

DockerHomePage

Programmers and developers have been anxiously waiting for an invite into the Docker application beta since earlier this year. During their announcement video, Docker shared that they had over 30,000 interested parties sign up within hours of the initial announcement. A grand total of 70,000 were able to join the beta to provide feedback and get a hands-on experience with the application. But for those that haven’t gotten in, today they can do so with the open beta announced for Docker on Mac and Windows.

The Docker platform is one of the most versatile means for developers and IT to create and test their application software through multiple devices. Docker boasts that the Windows application will provide better performance and reliability as well as advanced options to change CPU, Memory Usage, and many more tweaks to improve development.

With Docker on Windows, users can expect the same experience they’ve had before with enhancements, including deeper integration of running Docker and native virtualization for the Windows platform. The in-container development makes it possible to auto-update the software within the platform–just a save and refresh after, and the application reflects changes made to the coding without any hassle.

The polyglot environment is a major feature for teams, developers, and organizations that use multiple coding on their projects. Mounted volumes will notify the document when it’s changed. Developers are now able to build applications on a Windows machine without the need to add more frameworks. For example, when a developer writes in Java coding, the application will recognize it as Java coding. The same will occur with other supported languages.

The Docker application for Windows will provide better networking than before with built-in DNS servers and easy use over VPN. It will run with Native Hypervisor Support meaning that minimum specifications require a Windows 10 Pro machine with the latest Hyper-V updates. So what are you waiting for? The Docker public beta can be downloaded from their official website.

Xamarin Forms MasterDetail Page Navigation Recipe

In this recipe I will show you how to add a hamburger menu to your Xamarin Forms application using the MasterDetailPage class. The Xamarin.Forms MasterDetail Page consists of one page for the master and one or more pages for the detail.

When used for the main navigation, as in this recipe, we will have a single master page and 4 detail pages. The code for this recipe comes from the Xamarin Forms CRM sample. I have simplified and streamlined the code, and a full Xamarin Studio solution is included at the bottom of this post.

Xamarin.Forms MasterDetail

Think of the MasterDetailPage as the traffic cop of your application navigation. When a user clicks on the hamburger menu, Xamarin.Forms MasterDetail pushes the menu onto the screen. Then when the user taps on a menu item, MasterDetail creates the target page and pushes it onto the stack. Besides those two things, and some styling, MasterDetail doesn’t do much. Have a look at the code.

public class RootPage : MasterDetailPage
{
	public RootPage ()
	{
		var menuPage = new MenuPage ();
		menuPage.Menu.ItemSelected += (sender, e) => 
                             NavigateTo (e.SelectedItem as MenuItem);
		Master = menuPage;
		Detail = new NavigationPage (new ContractsPage ());
	}

	void NavigateTo (MenuItem menu)
	{
		Page displayPage = (Page)Activator.CreateInstance (menu.TargetType);
		Detail = new NavigationPage (displayPage);
		IsPresented = false;
	}
}

Pretty simple right? The only complicated bit is with the (Page)Activator.CreateInstance (menu.TargetType) part, but if you have been doing C# on .Net for a while, you probably have seen it before. All it is, is another way of creating objects.

MasterBehavior

In Xamarin.Forms 1.3, the Xamarin.Forms MasterDetail MasterDetail Page received a new property called MasterBehavior. This property controls how the menu will react when activated. The enumeration MasterBehavior has a few options and they are:

public enum MasterBehavior
{
    Default,
    Popover,
    Split,
    SplitOnLandscape,
    SplitOnPortrait
}

The normal behavior of the MasterDetailPage in landscape mode is “SplitOnLandscape”. I think splitting is normal when using the MasterDetailPage for detail drill in type navigation but not when using it as a hamburger menu or your apps main navigation. When using the MasterDetailPage for app navigation, I set the behavior to popover.

The Menu Page

The menu page is just what the name implies, it’s the Xamarin Forms page that will be shown when the user clicks the menu button. This is the master part of the Xamarin.Forms MasterDetail Page. Our MenuPage is a simple content page with a StackLayout containing a label and a ListView of our menu items.

Please note the public property Menu. This property allows our MasterDetail page access to the ItemSelected event. When the event is fired, the item selected will be sent to the NavigateTo method on the master detail object.

public class MenuPage : ContentPage
{
	public ListView Menu { get; set; }

	public MenuPage ()
	{
		Icon = "settings.png";
		Title = "menu"; // The Title property must be set.
		BackgroundColor = Color.FromHex ("333333");

		Menu = new MenuListView ();

		var menuLabel = new ContentView {
			Padding = new Thickness (10, 36, 0, 5),
			Content = new Label {
				TextColor = Color.FromHex ("AAAAAA"),
				Text = "MENU", 
			}
		};

		var layout = new StackLayout { 
			Spacing = 0, 
			VerticalOptions = LayoutOptions.FillAndExpand
		};
		layout.Children.Add (menuLabel);
		layout.Children.Add (Menu);

		Content = layout;
	}
}

Menu Item

Menu Item is a simple type that holds our menu data and the most important data is the Target type. When a user clicks on a menu item, the NavigateTo method will create a new page from the TargetType, and push that page onto the stack.

public class MenuItem
{
	public string Title { get; set; }
	public string IconSource { get; set; }
	public Type TargetType { get; set; }
}

Menu List View

The menu list view couldn’t be simpler; we use the built in ImageCell for the rows and set the bindings to the properties on the MenuItem type. We set the first item as the selected item and also used it when constructing the MasterDetail Page initial detail class.

public class MenuListView : ListView
{
	public MenuListView ()
	{
		List data = new MenuListData ();

		ItemsSource = data;
		VerticalOptions = LayoutOptions.FillAndExpand;
		BackgroundColor = Color.Transparent;

		var cell = new DataTemplate (typeof(ImageCell));
		cell.SetBinding (TextCell.TextProperty, "Title");
		cell.SetBinding (ImageCell.ImageSourceProperty, "IconSource");

		ItemTemplate = cell;
	}
}

Menu List Data

The MenuListData class is a data structure holding our applications navigation. In your app you could get this data from the database or configuration file. The menu structure of my application doesn’t change much, so I just use code.

public class MenuListData : List
{
	public MenuListData ()
	{
		this.Add (new MenuItem () { 
			Title = "Contracts", 
			IconSource = "contracts.png", 
			TargetType = typeof(ContractsPage)
		});

		this.Add (new MenuItem () { 
			Title = "Leads", 
			IconSource = "Lead.png", 
			TargetType = typeof(LeadsPage)
		});

		this.Add (new MenuItem () { 
			Title = "Accounts", 
			IconSource = "Accounts.png", 
			TargetType = typeof(AccountsPage)
		});

		this.Add (new MenuItem () {
			Title = "Opportunities",
			IconSource = "Opportunity.png",
			TargetType = typeof(OpportunitiesPage)
		});
	}
}

The Content Pages

These pages are what is created when a user clicks on our menu items.

public class ContractsPage : ContentPage
{
	public ContractsPage (){}
}

public class LeadsPage : ContentPage
{
	public LeadsPage (){}
}

public class AccountsPage : ContentPage
{
	public AccountsPage (){}
}

public class OpportunitiesPage : ContentPage
{
	public OpportunitiesPage (){}
}

Download the source code PSC-MasterDetail.zip (79.74 kb)

Happy coding!

Xamarin Studio: complete uninstall on Mac

Remove these directories:

/Applications/Xamarin Studio.app
/Developer/MonoTouch
/Developer/MonoAndroid
/Library/Frameworks/Mono.framework
/Library/Frameworks/Xamarin.Mac.framework
/Library/Frameworks/Xamarin.Android.framework

Locations in your user directory:

~/Library/Caches/Xamarin
~/Library/Caches/XamarinStudio-4.0
~/Library/Developer/Xamarin
~/Library/Developer/XamarinStudio
~/Library/Logs/Xamarin
~/Library/Logs/XamarinStudio-4.0
~/Library/Preferences/Xamarin
~/Library/Preferences/XamarinStudio-4.0
~/Library/Xamarin
~/Library/Xamarin.Mac
~/Library/MonoTouch
~/Library/MonoAndroid
~/Library/XamarinStudio-4.0

That's all there is afaik.

Advertsing

125X125_06

Planet Xamarin

Planet Xamarin

Calendar

<<  November 2017  >>
MonTueWedThuFriSatSun
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar

Month List