Browse Source

Added "System dialogs" page for ControlCatalog

pull/1005/head
Nikita Tsukanov 9 years ago
parent
commit
eddabf7d54
  1. 6
      samples/ControlCatalog/ControlCatalog.csproj
  2. 2
      samples/ControlCatalog/MainView.xaml
  3. 9
      samples/ControlCatalog/MainView.xaml.cs
  4. 2
      samples/ControlCatalog/MainWindow.xaml.cs
  5. 11
      samples/ControlCatalog/Pages/DialogsPage.xaml
  6. 42
      samples/ControlCatalog/Pages/DialogsPage.xaml.cs

6
samples/ControlCatalog/ControlCatalog.csproj

@ -32,6 +32,9 @@
<EmbeddedResource Include="MainView.xaml"> <EmbeddedResource Include="MainView.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Pages\DialogsPage.xaml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Pages\BorderPage.xaml"> <EmbeddedResource Include="Pages\BorderPage.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
@ -86,6 +89,9 @@
<Compile Include="MainWindow.xaml.cs"> <Compile Include="MainWindow.xaml.cs">
<DependentUpon>MainWindow.xaml</DependentUpon> <DependentUpon>MainWindow.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="Pages\DialogsPage.xaml.cs">
<DependentUpon>DialogsPage.xaml</DependentUpon>
</Compile>
<Compile Include="Pages\BorderPage.xaml.cs"> <Compile Include="Pages\BorderPage.xaml.cs">
<DependentUpon>BorderPage.xaml</DependentUpon> <DependentUpon>BorderPage.xaml</DependentUpon>
</Compile> </Compile>

2
samples/ControlCatalog/MainView.xaml

@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui" <UserControl xmlns="https://github.com/avaloniaui"
xmlns:pages="clr-namespace:ControlCatalog.Pages;assembly=ControlCatalog" xmlns:pages="clr-namespace:ControlCatalog.Pages;assembly=ControlCatalog"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<TabControl Classes="sidebar"> <TabControl Classes="sidebar" Name="Sidebar">
<TabControl.Transition> <TabControl.Transition>
<CrossFade Duration="0.25"/> <CrossFade Duration="0.25"/>
</TabControl.Transition> </TabControl.Transition>

9
samples/ControlCatalog/MainView.xaml.cs

@ -1,6 +1,9 @@
using System.Collections;
using Avalonia; using Avalonia;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Markup.Xaml; using Avalonia.Markup.Xaml;
using Avalonia.Platform;
using ControlCatalog.Pages;
namespace ControlCatalog namespace ControlCatalog
{ {
@ -9,6 +12,12 @@ namespace ControlCatalog
public MainView() public MainView()
{ {
this.InitializeComponent(); this.InitializeComponent();
if (AvaloniaLocator.Current.GetService<IRuntimePlatform>().GetRuntimeInfo().IsDesktop)
((IList) this.FindControl<TabControl>("Sidebar").Items).Add(new TabItem()
{
Header = "System dialogs",
Content = new DialogsPage()
});
} }
private void InitializeComponent() private void InitializeComponent()

2
samples/ControlCatalog/MainWindow.xaml.cs

@ -11,7 +11,7 @@ namespace ControlCatalog
{ {
this.InitializeComponent(); this.InitializeComponent();
this.AttachDevTools(); this.AttachDevTools();
Renderer.DrawDirtyRects = Renderer.DrawFps = true; //Renderer.DrawDirtyRects = Renderer.DrawFps = true;
} }
private void InitializeComponent() private void InitializeComponent()

11
samples/ControlCatalog/Pages/DialogsPage.xaml

@ -0,0 +1,11 @@
<UserControl xmlns="https://github.com/avaloniaui">
<StackPanel Orientation="Vertical" Gap="4" Margin="4">
<Button Name="OpenFile">Open File</Button>
<Button Name="SaveFile">Save File</Button>
<Button Name="SelectFolder">Select Folder</Button>
<StackPanel Orientation="Horizontal">
<CheckBox Name="IsModal" IsChecked="True"/>
<TextBlock>Modal to window</TextBlock>
</StackPanel>
</StackPanel>
</UserControl>

42
samples/ControlCatalog/Pages/DialogsPage.xaml.cs

@ -0,0 +1,42 @@
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
#pragma warning disable 4014
namespace ControlCatalog.Pages
{
public class DialogsPage : UserControl
{
public DialogsPage()
{
this.InitializeComponent();
this.FindControl<Button>("OpenFile").Click += delegate
{
new OpenFileDialog()
{
Title = "Open file"
}.ShowAsync(GetWindow());
};
this.FindControl<Button>("SaveFile").Click += delegate
{
new SaveFileDialog()
{
Title = "Save file"
}.ShowAsync(GetWindow());
};
this.FindControl<Button>("SelectFolder").Click += delegate
{
new OpenFolderDialog()
{
Title = "Select folder"
}.ShowAsync(GetWindow());
};
}
Window GetWindow() => this.FindControl<CheckBox>("IsModal").IsChecked ? (Window)this.VisualRoot : null;
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
}
}
}
Loading…
Cancel
Save