Quantcast
Channel: Windows Presentation Foundation (WPF) forum
Viewing all 18858 articles
Browse latest View live

Selected valued not work with combo box in wpf mvvm

$
0
0

We want to show sleeted value in the combo box. We are coding as follows.

1-I have created property for showing the value

private string _severityValue = "Select...";
        public string SeverityValue
        {
            get { return _severityValue; }
            set
            {
                SetProperty(ref this._severityValue, value);
                RaisePropertyChanged("SeverityValue");
            }
        }


And xaml design is as follows

<ComboBox Grid.Row="5" Grid.Column="0" Name="SeverityComboBox"  Width="150" Height="30" StaysOpenOnEdit="True" IsSynchronizedWithCurrentItem="True"
                                     SelectedValue="{Binding RepairRecommendationsModel.SeverityValue, Mode=TwoWay}" HorizontalAlignment="Left" VerticalAlignment="Top"
                                       IsEditable="False" IsTextSearchCaseSensitive="False"  Margin="5,0,0,0" MaxHeight="30" MinHeight="30"><ComboBoxItem Content="Select..."/><ComboBoxItem Content="Unit Down" /><ComboBoxItem Content="Possible Failure" /><ComboBoxItem Content="Preventative Maintenance" /></ComboBox>

When we run the application then it's not showing selected value. We are unable to determine the issue.

Please help to find out solution. thanks



UpdateTarget on my static binding is not working (C# WPF)

$
0
0

Hi,

I added a class called "Operation" to my project that handles an 'Undo' function, basically its just a stack that holds actions together with an old value so if i ever want to undo something i just pop the last stack item and execute the action again but with the old value.

That all seems to be working fine and ofcourse i also added a menuitem 'Undo' which does all this. But i would like to bind this menuitem's IsEnabled property to a static bool property in my Operation class. This bool property will return true if the stack has more then 0 items and false if it has no items. So in other words if there is nothing to undo, the undo menuitem is disabled.

Since this is a static property, i cant work with INotifyPropertyChanged. So i tried using the UpdateTarget() method, but for some reason this is doing nothing..its not even calling the get{} function in my property.

Here's some of my code, thanks for taking a look and maybe someone can see my mistake..
The boolean property: I added some output to see if this was being called upon after TargetUpdate() but no..

public static bool CanUndo
{
    get
    {
        Console.WriteLine(stack.Count.ToString());
        return stack.Count > 0;
    }
}

The binding: The binding is probably fine, since it does work when I use return false in the property

<MenuItem x:Name="MenuItem_Undo" Header="_Undo" InputGestureText="CTRL+Z" Click="MenuItem_Undo_Click" IsEnabled="{Binding Source={x:Static structs:Operation.CanUndo}}"/>

The click event: when clicked it should UpdateTarget, but nothing happens

private void MenuItem_Undo_Click(object sender, RoutedEventArgs e) { Operation.Undo(); MenuItem_Undo.GetBindingExpression(MenuItem.IsEnabledProperty).UpdateTarget(); }

How do I bind Menuitem in WPF using MVVM ?

$
0
0
How do I bind Menuitem in WPF using MVVM ?

How do I setup the binding data with MenuItem in WPF using MVVM ?

$
0
0

<DataGrid x:Name="LicenseInventory" ItemsSource="{Binding Path=LicenseInventories}">

<DataGrid.Columns><DataGridTextColumn Binding="{Binding Product}" /><DataGridTextColumn Binding="{Binding Version}" ></DataGridTextColumn> // Some other column like Activation Status, Expire Date etc...<DataGridTemplateColumn><DataGridTemplateColumn.CellTemplate><DataTemplate><Menu><MenuItem Header="Choose Acions" ItemsSource="{Binding Path=DataContext.LicenseActions}" DisplayMemberPath="ActionName"></MenuItem></Menu></DataTemplate></DataGridTemplateColumn.CellTemplate></DataGridTemplateColumn></DataGrid.Columns></DataGrid>

Item source for DataGrid is ObservableCollection<Product>, which I am passing throughProductViewModel and each product contain 

public class Product
{
  public string Product { get; set; }
  public string LicenseType { get; set; }
  public string Status { get; set; }
  public string Expires { get; set; }
  public List<LicenseAction> LicenseActions { get; set; }
}
LicenseAction is different for each product. so how to bind licenseActions with Menu control using MVVM in WPF

public class LicenseAction
    {
        public string ActionId { get; set; }
        public string ActionName { get; set; }
        public Visibility Visibility { get; set; }
        public bool IsEnabled { get; set; }
        public string ToolTip { get; set; }
    }
// possible license actions { Activate, Deactivate, View Details, View History }



Issue with RelayCommand (MVVM Light)

$
0
0

Hello, I have this command, I need add "canExecute" condition, but I can not :(

        public ICommand DeleteCommand => _deleteCommand ??
                                           (_deleteCommand = new RelayCommand<Person>(Delete));

For example, something like that.

        public ICommand DeleteCommand => _deleteCommand ??
                                           (_deleteCommand = new RelayCommand<Person>(Delete, SelectedArticle != null));

Error: Argument 2: can not be converted from 'bool' to 'System.Func <BMTool.Class.Person, bool>'

Is it possible to use a second parameter (canExecute), when the command uses a data type? (RelayCommand<Person>). Thx!


Attached behavior inside data templates

$
0
0

I want to attach a behavior ToolTipOpening to my datatemplate and it is not working. It works fine on a control with out a template but not with the template. How can I get it to work. 

                 

    <DataTemplate x:Key="ToolBarRadioCommandItemTemplate"
                  DataType="local:ToolBarRadioCommandItem">
        <RadioButton 
                    ToolTip="{Binding DisplayName}" 
  local:ToolBarButtonBehaviour.ToolTipOpening ="{Binding ToolTipOpeningCommand}"
                    GroupName="{Binding GroupName}"
                    IsEnabled="True"
            IsChecked="True"
            Visibility="Visible"
                   >
            <RadioButton.Template>
                <ControlTemplate TargetType="{x:Type RadioButton}">
                    <Grid SnapsToDevicePixels="True" Margin="1,0">
                        <themes:ButtonChrome x:Name="ButtonBorder" 
                                             BorderBrush="#54942a"   
                                             RenderMouseOver="{TemplateBinding IsMouseOver}" 
                                             RenderPressed="{TemplateBinding IsPressed}" 
                                             SnapsToDevicePixels="true">
                            <Border BorderThickness="1" Background="Gainsboro" CornerRadius="4" >
                                <Image Source="{Binding ImageSource}">
                                    <Image.Style>
                                        <Style TargetType="Image">
                                            <Style.Triggers>
                                                <Trigger Property="IsEnabled" Value="True">
                                                    <Setter Property="Opacity" Value="0.5" />
                                                </Trigger>
                                            </Style.Triggers>
                                        </Style>
                                    </Image.Style>
                                </Image>
                            </Border>
                        </themes:ButtonChrome>
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsPressed" Value="True">
                            <Setter Property="RenderPressed" TargetName="ButtonBorder" Value="true"/>
                        </Trigger>
                        <Trigger Property="IsChecked" Value="True">
                            <Setter Property="RenderPressed" TargetName="ButtonBorder" Value="true"/>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </RadioButton.Template>
        </RadioButton>

    </DataTemplate>


Here is my attachedbehavior

 public static readonly DependencyProperty ToolTipOpening = DependencyProperty.RegisterAttached(
                "ToolTipOpening",
                typeof(ICommand),
                typeof(ToolBarButtonBehaviour),
                new PropertyMetadata(null,
                    new ExecuteCommandOnRoutedEventBehaviour(RadioButton.ToolTipOpeningEvent).PropertyChangedHandler)
                );


Creating Dynamic Data Display in XAML

$
0
0

I would like to create a table or data grid for display dynamically. I am getting some data off the internet that I have loaded into an array. This array could have 0 to many items to display. What is the best approach to solving this requirement.

Thanks in advance - Dan

XAML theme file name for Windows 10

$
0
0

I want to provide platform-specific themes for my user control in WPF. There are already files Classic.xaml, Luna.NormalColor.xaml, Aero.NormalColor.xaml and Aero2.NormalColor.xaml in the Themes directory of the project. As far as I know these are for Windows 2000, XP, 7 and 8 respectively.

What is the correct file name for Windows 10? It does look considerably different from Windows 8 and I need consistency with the rest of the GUI.

If the WPF theme names can't support this distinction, how would I solve this issue in code?


i want to property binding in image control in WPF using property get source of image

$
0
0

<image source={Binding ImageProperty}  />

public string ImageProperty

{

   get { return @"D:\ProjectDemo\Image\imgsport.png"}

I want to  this return valur dynamicly call . Not use locat drive address like:    D:\ProjectDemo\.....

I want to Uri source used for dynamicly return valu of  image.

Thanks,

Style.Trigger Not Working

$
0
0

Hi,

I have a Style Trigger on a button Style but I cannot seem to get the "IsMouseOver" property to work. I have changed it within the <Style.Trigger> tags.

Here is my XAML:

<!--Caption Button Style--><Style x:Key="CaptionButton" TargetType="Button"><Setter Property="Background" Value="Transparent"/><Setter Property="Foreground" Value="{StaticResource S2ENGINEHD.LightText}"/><Setter Property="FontFamily" Value="Segeo UI Light"/><Setter Property="BorderThickness" Value="0"/><Style.Triggers><Trigger Property="IsMouseOver" Value="True"><Setter Property="Background" Value="{StaticResource S2ENGINEHD.Hover}"/></Trigger></Style.Triggers></Style>
Not to sure where I am going wrong. I would prefer to do Style Triggers than do it within a Control Template.


How to pass Attached property as command argument to Attached behavior

$
0
0

How can I pass ToolTipOpeningCommandParameter to ToolTipOpeningCommand as Command Parameter?

    public class ToolBarButtonBehavior
    {

public static readonly DependencyProperty ToolTipOpeningCommand = DependencyProperty.RegisterAttached(
            "ToolTipOpeningCommand", 
            typeof(ICommand), 
            typeof(ToolBarButtonBehavior), 
            new PropertyMetadata(null,  new ExecuteCommandOnRoutedEventBehaviour(RadioButton.ToolTipOpeningEvent).PropertyChangedHandler));

        public static void SetToolTipOpeningCommand(DependencyObject o, ICommand value)
        {
            o.SetValue(ToolTipOpeningCommand, value);
        }

        public static ICommand GetToolTipOpeningCommand(DependencyObject o)
        {
            return o.GetValue(ToolTipOpeningCommand) as ICommand;
        }

        public static readonly DependencyProperty ToolTipOpeningCommandParameter = DependencyProperty.RegisterAttached(
           "ToolTipOpeningCommandParameter",
           typeof(string),
           typeof(ToolBarButtonBehavior),
           new PropertyMetadata(null));

        public static string GetToolTipOpeningCommandParameter(DependencyObject o)
        {
            return o.GetValue(ToolTipOpeningCommandParameter) as string;
        }
        public static void SetToolTipOpeningCommandParameter(DependencyObject o, string value)
        {
            o.SetValue(ToolTipOpeningCommandParameter, value);
        }

        private class ExecuteCommandOnRoutedEventBehaviour : ExecuteCommandBehaviour
        {
            private readonly RoutedEvent _routedEvent;

            public ExecuteCommandOnRoutedEventBehaviour(RoutedEvent routedEvent)
            {
                _routedEvent = routedEvent;
            }

            /// <summary>
            /// Handles attaching or Detaching Event handlers when a Command is assigned or unassigned
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="oldValue"></param>
            /// <param name="newValue"></param>
            protected override void AdjustEventHandlers(DependencyObject sender, object oldValue, object newValue)
            {
                UIElement element = sender as UIElement;
                if (element == null) { return; }

                if (oldValue != null)
                {
                    element.RemoveHandler(_routedEvent, new RoutedEventHandler(EventHandler));
                }

                if (newValue != null)
                {
                    element.AddHandler(_routedEvent, new RoutedEventHandler(EventHandler));
                }
            }

            protected void EventHandler(object sender, RoutedEventArgs e)
            {
                HandleEvent(sender, e);
            }
        }

        internal abstract class ExecuteCommandBehaviour
        {
            protected DependencyProperty _property;
            protected abstract void AdjustEventHandlers(DependencyObject sender, object oldValue, object newValue);

            protected void HandleEvent(object sender, EventArgs e)
            {
                DependencyObject dp = sender as DependencyObject;
                if (dp == null)
                {
                    return;
                }

                ICommand command = dp.GetValue(_property) as ICommand;

                if (command == null)
                {
                    return;
                }

                if (command.CanExecute(e))
                {
                    command.Execute(e);
                }
            }

            /// <summary>
            /// Listens for a change in the DependencyProperty that we are assigned to, and
            /// adjusts the EventHandlers accordingly
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            public void PropertyChangedHandler(DependencyObject sender, DependencyPropertyChangedEventArgs e)
            {
                // the first time the property changes,
                // make a note of which property we are supposed
                // to be watching
                if (_property == null)
                {
                    _property = e.Property;
                }

                object oldValue = e.OldValue;
                object newValue = e.NewValue;

                AdjustEventHandlers(sender, oldValue, newValue);
            }
        }

}

Using ListCollectionView.CustomSort gives me duplicate entries

$
0
0

I'm not sure what I'm seeing here.

My application adds lots of items to an ObservableCollection in multiple threads. To make dispatching to the UI thread any efficient, I queue the CollectionChanged events and only raise them in the UI thread on request, instead of dispatching every single event to the UI thread.

This alone works fine. But when I also use CustomSort of the ListCollectionView, I get mostly duplicate items in the list on the screen.

Where do they come from? Is ListCollectionView broken? Or is there another problem in my DispatchedObservableCollection implementation with event queueing?

I have made a small sample application that you can find here.

How to close Ribbon Application Menu programmatically?

$
0
0

Hi

This is my XAML:

 

<ribbon:Ribbon.ApplicationMenu><ribbon:RibbonApplicationMenu><ribbon:RibbonApplicationMenuItem Header="" /><ribbon:RibbonApplicationMenuItem Header="" /><ribbon:RibbonApplicationMenuItem Header="" /><ribbon:RibbonApplicationMenuItem Header="" /><ribbon:RibbonApplicationMenuItem Header="" /><ribbon:RibbonApplicationMenuItem Header="" /><ribbon:RibbonApplicationMenuItem Header="" /><ribbon:RibbonApplicationMenuItem Header="" /><ribbon:RibbonApplicationMenu.AuxiliaryPaneContent><Grid><Grid.RowDefinitions><RowDefinitionHeight="Auto"/><RowDefinitionHeight="5"/><RowDefinitionHeight="*"/></Grid.RowDefinitions><ribbon:RibbonSeparatorGrid.Row="0"Label="Recent Objects"/><ItemsControlName="recentObjects"Grid.Row="2"ItemsSource="{Binding}"MouseLeftButtonUp="recentObjects_MouseLeftButtonUp"><ItemsControl.ItemTemplate><DataTemplate><Borderx:Name="MainBorder"BorderThickness="1"Padding="5,2,5,2"><Grid><Grid.ColumnDefinitions><ColumnDefinitionWidth="Auto"/><ColumnDefinitionWidth="5"/><ColumnDefinitionWidth="*"/><ColumnDefinitionWidth="Auto"/></Grid.ColumnDefinitions><TextBlockGrid.Column="0"Text="{Binding Index}"TextDecorations="Underline"/><TextBlockGrid.Column="2"Text="{Binding Label}"/><ImageGrid.Column="3"Source="{Binding ImageFileName, Converter={StaticResource myConverter}}"/></Grid></Border><DataTemplate.Triggers><TriggerProperty="IsMouseOver"Value="True"><SetterTargetName="MainBorder"Property="Background"Value="{Binding RelativeSource={RelativeSource TemplatedParent},Path=(ribbon:RibbonControlService.Ribbon).MouseOverBackground}"/><SetterTargetName="MainBorder"Property="BorderBrush"Value="{Binding RelativeSource={RelativeSource TemplatedParent},Path=(ribbon:RibbonControlService.Ribbon).MouseOverBorderBrush}"/></Trigger></DataTemplate.Triggers></DataTemplate></ItemsControl.ItemTemplate></ItemsControl></Grid></ribbon:RibbonApplicationMenu.AuxiliaryPaneContent></ribbon:RibbonApplicationMenu></ribbon:Ribbon.ApplicationMenu>

  

C#:

 

   

How can I close Ribbon Application Menu programmatically?

 

Regards

privatevoid recentObjects_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
    {
      FrameworkElement fe = (sender as FrameworkElement);
      HitTestResult result = VisualTreeHelper.HitTest(fe, e.GetPosition(fe));if (result != null)
      {
        TextBlock tb = result.VisualHit as TextBlock;if (tb != null)
        {//How to close menu programmatically here??
        }
      }
    }

kicaj

Copying a file to an Android based Instrument from WPF app - MTD

$
0
0

I am not sure if this is the correct forum or not, but here goes.

I have an Android based medical instrument that has storage accessible over MTD.  I have a WPF application that has to push files down to that storage.  The device and storage shows up just fine in Windows explorer like a phone or camera.

I have searched for a solution, but all I seem to find are articles from 2011.  I have tried WPD to access it with a little success.  I just have to believe there is a managed technology out there that I can use that is more current than 2010.  Wouldn't System.IO.File.Copy be nice.

Does anyone know of a solution?

Thanks in advance,

jeff

Property Grid in WPF

$
0
0

Hi to all,

I want to implement property grid , How to implement property grid please send me best link and process of property grid implement in WPF.

Thanks.


A.Acharya Feedback to us Develop and promote your apps in Windows Store Please remember to mark the replies as answers if they help and unmark them if they provide no help.


Best way to implement Context Menu icons dynamically.

$
0
0

Hello,

I have this curious case where I am implementing a context-menu in WPF. Inline with MVVM I am building the context menu in the code and binding it to the XAML.

For every menu item of the context menu I have an icon. So in the code I have a switch case and looping etc and it works for now.

But I have to display additional information for the menu item in some cases. for example few of the menu items are special cases and I want to display like a blue dot or another small icon on top of the existing icon. Something like how a small icon appears on a large icon in one corner. Not sure how I can do this as I don't want to draw this small icon on every icon there is and then make it visible or hide it. I wan to achieve this is the best possible way.

Thank you.


Please Mark as Answered If this answers your question OrUnMark as Answered if it did not.
Happy to Help :)
My Site

Setting focus on a textbox on change of dropdown value

$
0
0
I've a xaml screen in my  C#/WPF app having a combobox(ProductType) and a textbox(ProductCode).
When the screen loads for the first time,I'm setting the focus this Textbox and its working fine using my code below.
I also need to set the focus when user changes a value in the comboxbox but it does not seem to work.

What am I missing here please?
(Note:My first preference would be to achieve a solution for this using MVVM design pattern.If it does not work,I would like to go for code-behind approach please.)

**MainWindowResources.xaml**

    <Style TargetType="TextBox" x:Key="ProductCodeStyle">
            <Style.Triggers>
                <DataTrigger Binding="{Binding FocusOnProductCode}" Value="True">
                    <Setter Property="FocusManager.FocusedElement" Value="{Binding RelativeSource={RelativeSource Self}}" />
                </DataTrigger>
            </Style.Triggers>
        </Style>

    

**MainWindow.xaml:**

  

    <TextBox  Name="txtProductCode" HorizontalAlignment="Left" Height="22" TextWrapping="Wrap" Text="{Binding ProductCodeValue, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged }"  
                          VerticalAlignment="Top" Width="165" Style="{DynamicResource ProductCodeStyle}" Grid.Column="3" Margin="1,2,0,0" TabIndex="0" IsHitTestVisible="True"/>

**MainWindowViewModel.cs**

    public MainWindowViewModel(MainWindow window)
    {
    
    this.FocusOnProductCode = true;
    }
    
    
     public ProductType SelectedProductType
            {
                get
                {
                    return m_selectedProductType;
                }
                set
                {                
                    m_selectedProductType = value;
                   
                    this.FocusOnProductCode = true;
                   
                }
            }
    
    
    
            public bool FocusOnProductCode
            {
                get { return m_focusOnProductCode; }
                set
                {
                    m_focusOnProductCode;= value;
                    OnPropertyChanged("FocusOnProductCode");
                    OnPropertyChanged("SelectedProductType");
                }
            }

Thanks.



binding problem on datagrid

$
0
0

Hi,

I had two datagrids, when i click on the row of the first datagrid, i need to fill the second datagrid.I created an handler on the MouseLeftButtonUp event and i managed the filling of the second datagrid by the viewmodel.

How can i view the result in the second datagrid? this datagrid is binding on the LIGNES? property and vm is the viewmodel objet that contain this property.

sample:

xaml for the beginning of datagrid:

 <DataGrid HorizontalAlignment="Left" Name="ligneuserControl" ItemsSource="{Binding LIGNES,UpdateSourceTrigger=PropertyChanged}"  IsSynchronizedWithCurrentItem="True" AutoGenerateColumns="False" CanUserAddRows="False" >

xaml.cs:

 void contratdatagrid_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {

            DependencyObject d = (DependencyObject)e.OriginalSource;

         while((d!=null)&&
            !(d is DataGridCell) &&
            !(d is DataGridColumnHeader))
            {
                    d = VisualTreeHelper.GetParent(d);
            }

            if (d == null)
            {
                return;



            }

            if (d is DataGridCell)
            {

              
                
                 DataGridCell cell = d as DataGridCell;

    // navigate further up the tree
    while ((d != null) && !(d is DataGridRow))
    {
        d = VisualTreeHelper.GetParent(d);
    }

    DataGridRow row = d as DataGridRow;

    DataGrid dataGrid =
ItemsControl.ItemsControlFromItemContainer(row)
as DataGrid;

    int index = dataGrid.ItemContainerGenerator.
        IndexFromContainer(row);
 


       

        this.ligneuserControl.IsEnabled = true;
        this.ligneuserControl.Visibility = Visibility.Visible;
        Contrat lecontrat = dataGrid.Items.GetItemAt(index) as Contrat;

        lecontrat.TrouverlignesDeContrats(lecontrat.ID);


        if (lecontrat.LIGNESDECONTRAT.Count > 0) {

           
            foreach (Ligne l in lecontrat.LIGNESDECONTRAT)
            {


               vm. LIGNES.Add(new Ligne()
                {

                    TITLE = l.TITLE,
                    D_DEBUT = l.D_DEBUT,
                    D_FIN = l.D_FIN,
                    PRIX = l.PRIX,
                    NET = l.NET,
                    REMISE = l.REMISE,
                    UNITETOTALE = l.UNITETOTALE,
                    UNITEUTILISEE = l.UNITEUTILISEE,
                    UNITERESTANTE = l.UNITERESTANTE,
                    CSUUNITETOTALE = l.CSUUNITETOTALE,
                    CSUUNITEUTILISEE = l.CSUUNITEUTILISEE,
                    CSUUNITERESTANTE = l.CSUUNITERESTANTE,
                    RAISONDUSTATUT = l.RAISONDUSTATUT,
                    LESTATUT = l.LESTATUT,
                    CLIENT = l.CLIENT,
                    IDLIGNE = l.IDLIGNE

                });



            }//end foreach

        
        
        
        }//end if
   
             }
            
            
            
           
        }

Thanks

Regards


Binding a item in the list in a static class to DataTriggers.

$
0
0

Hi,

I have this unique case where I want to do the following.

I have a context menu, in which for some cases I want to display an icon for that particular menu item.

If the Boolean property of an object is true then I want to display that icon. And this property is inside an object which is an item in a list inside a Static class.

My binding looks something like this:

<ContextMenu ItemsSource="{Binding ApplicationContext.MyListContextMenu}"><ContextMenu.ItemContainerStyle><Style BasedOn="{StaticResource ContextMenuItemStyle}" TargetType="{x:Type MenuItem}"><Style.Triggers><DataTrigger Binding="{Binding  Source={x:Static host:MyStaticClass.myObject.myList[Header].ShouldIShowIcon}}" Value="True"><Setter Property="Icon" Value="{StaticResource MyIcon}"/></DataTrigger></Style.Triggers></Style></ContextMenu.ItemContainerStyle></ContextMenu>

Of course this is wrong as I keep getting build errors which I am not understanding fully. And for some reason I can't change the design. So my question is: How can I bind this?


Please Mark as Answered If this answers your question OrUnMark as Answered if it did not.
Happy to Help :)
My Site

Creating a World Map

$
0
0

Hello,

I need to create or rather draw a World map using wpf and then display the flight traffic. I do not want to use bing maps or any third party map controls. How do I accomplish this?

I want to draw a raw map on screen using geographical coordinates for land and sea.

Regards,

Amarnath Katti

Viewing all 18858 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>