Avalonia sample application namespace

This commit is contained in:
ClemensFischer 2024-05-27 11:10:10 +02:00
parent 8d0f618f2a
commit d9ef169d56
6 changed files with 32 additions and 7 deletions

View file

@ -1,6 +1,6 @@
<Application xmlns="https://github.com/avaloniaui" <Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="AvaloniaApp.App" x:Class="SampleApplication.App"
RequestedThemeVariant="Default"> RequestedThemeVariant="Default">
<Application.Styles> <Application.Styles>
<FluentTheme /> <FluentTheme />

View file

@ -2,7 +2,7 @@
using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml; using Avalonia.Markup.Xaml;
namespace AvaloniaApp namespace SampleApplication
{ {
public partial class App : Application public partial class App : Application
{ {
@ -17,7 +17,7 @@ namespace AvaloniaApp
{ {
desktop.MainWindow = new MainWindow desktop.MainWindow = new MainWindow
{ {
//DataContext = new MainViewModel() DataContext = new MapViewModel()
}; };
} }

View file

@ -2,6 +2,7 @@
<PropertyGroup> <PropertyGroup>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<RootNamespace>SampleApplication</RootNamespace>
<BuiltInComInteropSupport>true</BuiltInComInteropSupport> <BuiltInComInteropSupport>true</BuiltInComInteropSupport>
<DefineConstants>AVALONIA</DefineConstants> <DefineConstants>AVALONIA</DefineConstants>
</PropertyGroup> </PropertyGroup>
@ -12,6 +13,10 @@
</AvaloniaResource> </AvaloniaResource>
</ItemGroup> </ItemGroup>
<ItemGroup>
<Compile Include="..\Shared\MapViewModel.cs" Link="MapViewModel.cs" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="..\Shared\etna.kml" Link="etna.kml"> <Content Include="..\Shared\etna.kml" Link="etna.kml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory> <CopyToOutputDirectory>Always</CopyToOutputDirectory>

View file

@ -3,8 +3,8 @@
xmlns:md="clr-namespace:Markdown.Avalonia;assembly=Markdown.Avalonia" xmlns:md="clr-namespace:Markdown.Avalonia;assembly=Markdown.Avalonia"
xmlns:map="clr-namespace:MapControl;assembly=MapControl.Avalonia" xmlns:map="clr-namespace:MapControl;assembly=MapControl.Avalonia"
xmlns:tools="clr-namespace:MapControl.UiTools;assembly=MapUiTools.Avalonia" xmlns:tools="clr-namespace:MapControl.UiTools;assembly=MapUiTools.Avalonia"
xmlns:local="clr-namespace:AvaloniaApp" xmlns:local="clr-namespace:SampleApplication"
x:Class="AvaloniaApp.MainWindow" x:Class="SampleApplication.MainWindow"
Title="MainWindow"> Title="MainWindow">
<Grid> <Grid>
<map:Map x:Name="map" <map:Map x:Name="map"
@ -12,6 +12,26 @@
Center="53.5,8.2" Center="53.5,8.2"
DoubleTapped="OnMapDoubleTapped"> DoubleTapped="OnMapDoubleTapped">
<ItemsControl ItemsSource="{Binding Pushpins}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<map:MapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.Styles>
<Style Selector="ContentPresenter">
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Bottom"/>
<Setter Property="map:MapPanel.Location" Value="{Binding Location}"/>
</Style>
</ItemsControl.Styles>
<ItemsControl.ItemTemplate>
<DataTemplate>
<map:Pushpin Content="{Binding Name}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<map:MapPath Location="53.5,8.2" Stroke="Blue" StrokeThickness="3" Fill="#1F007F00"> <map:MapPath Location="53.5,8.2" Stroke="Blue" StrokeThickness="3" Fill="#1F007F00">
<map:MapPath.Data> <map:MapPath.Data>
<EllipseGeometry RadiusX="1852" RadiusY="1852"/> <EllipseGeometry RadiusX="1852" RadiusY="1852"/>

View file

@ -6,7 +6,7 @@ using MapControl.UiTools;
using System; using System;
using System.IO; using System.IO;
namespace AvaloniaApp namespace SampleApplication
{ {
public partial class MainWindow : Window public partial class MainWindow : Window
{ {

View file

@ -1,7 +1,7 @@
using Avalonia; using Avalonia;
using System; using System;
namespace AvaloniaApp namespace SampleApplication
{ {
class Program class Program
{ {