What Are xmlns and xmlns:x in WPF? Understanding XML Namespace Declarations

In WPF (Windows Presentation Foundation), xmlns and xmlns:x are XML namespace declarations used in XAML files. They define the scope of XML namespaces, which are used to distinguish between elements and attributes that might have the same name but are used in different contexts. xmlns : The Default XML Namespace Definition : xmlns stands for XML namespace. It is used to declare the default namespace for the elements in the XAML file. Purpose : In WPF, it typically maps to the .NET namespaces that contain the classes and controls used in WPF applications. This default namespace allows you to use the WPF controls and elements without prefixing them. Example : <Window x:Class="WpfApp.MainWindow"    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    ... > <Grid>        <Button Content="Click Me"/>     </Grid> </Window> Here, xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" sets...

Mastering Modern UI: A Step-by-Step Guide to Creating Metro UI in WPF


To create metro ui you first have to install "Mahapps.metro" from NuGet.To install it right click on project and click on manage NuGet and type Mahapps.metro you will get this package you have to install from here.Now you are ready to create metro ui.Now open you Mainwindow.xaml and add one namespace like bellow
xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro" 
and replace Window to Controls:MetroWindow
Now your Mainwindow.xaml become
<Controls:MetroWindow x:Class="ProjectName.MainWindow"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
          Title="MainWindow"
          Height="600"
          Width="800">

  <!-- your content -->

</Controls:MetroWindow>

Now you have to modify Mainwindow.xaml.cs file in wpf application before it was inherited from Window.Now to make it metro you have to replace Window to MetroWindow like

  public partial class MainWindow :MetroWindow 
 { 
         public MainWindow() 
         { 
               InitializeComponent(); 
         }
}

Now add some Button and run the application it will display window with black
background.To apply metro default style you have to add some resources.
All of MahApp.Metro’s resources are contained within separate resource dictionaries.
In order for most of the controls to adopt the MahApps.Metro theme,you will need to
add the ResourceDictionaries to your App.xaml

<Application x:Class="WpfApplication.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>

<!-- MahApps.Metro resource dictionaries. Make sure that all file names are Case Sensitive! -->
 <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/
   Controls.xaml"/>

<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/
  Fonts.xaml"/>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/
  Colors.xaml"/>
      <!-- Accent and AppTheme setting -->
   <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
   </ResourceDictionary.MergedDictionaries>
   </ResourceDictionary>
  </Application.Resources>
</Application>

Now if you run the application you will get metro window with default style.
Watch video for more detail




Comments

Popular posts from this blog

Filter DataGrid and ListView in wpf using ICollectionView

Pagination of DataGrid in WPF using MVVM

How to Create TabControl using Prism Region