mirror of
https://github.com/wismna/ModernKeePass.git
synced 2025-10-03 15:40:18 -04:00
Ddata binding finally works!!
This commit is contained in:
Binary file not shown.
@@ -34,8 +34,7 @@ namespace ModernKeePass
|
|||||||
textBlock.Text = "Opened database: " + file.Name;
|
textBlock.Text = "Opened database: " + file.Name;
|
||||||
var database = new DatabaseVm();
|
var database = new DatabaseVm();
|
||||||
database.Open(file, "test");
|
database.Open(file, "test");
|
||||||
Frame.Navigate(typeof(GroupDetailPage), database);
|
Frame.Navigate(typeof(GroupDetailPage), database.RootGroup);
|
||||||
//Frame.Navigate(typeof(GroupDetailPage), database.RootGroup);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -114,9 +114,6 @@
|
|||||||
<Compile Include="MainPage.xaml.cs">
|
<Compile Include="MainPage.xaml.cs">
|
||||||
<DependentUpon>MainPage.xaml</DependentUpon>
|
<DependentUpon>MainPage.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Pages\BasicPage1.xaml.cs">
|
|
||||||
<DependentUpon>BasicPage1.xaml</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Pages\GroupDetailPage.xaml.cs">
|
<Compile Include="Pages\GroupDetailPage.xaml.cs">
|
||||||
<DependentUpon>GroupDetailPage.xaml</DependentUpon>
|
<DependentUpon>GroupDetailPage.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -124,7 +121,6 @@
|
|||||||
<Compile Include="ViewModels\DatabaseVm.cs" />
|
<Compile Include="ViewModels\DatabaseVm.cs" />
|
||||||
<Compile Include="ViewModels\EntryVm.cs" />
|
<Compile Include="ViewModels\EntryVm.cs" />
|
||||||
<Compile Include="ViewModels\GroupVm.cs" />
|
<Compile Include="ViewModels\GroupVm.cs" />
|
||||||
<Compile Include="ViewModels\Test.cs" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<AppxManifest Include="Package.appxmanifest">
|
<AppxManifest Include="Package.appxmanifest">
|
||||||
@@ -148,18 +144,14 @@
|
|||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</Page>
|
</Page>
|
||||||
<Page Include="Pages\BasicPage1.xaml">
|
|
||||||
<SubType>Designer</SubType>
|
|
||||||
<Generator>MSBuild:Compile</Generator>
|
|
||||||
</Page>
|
|
||||||
<Page Include="Pages\GroupDetailPage.xaml">
|
<Page Include="Pages\GroupDetailPage.xaml">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
</Page>
|
</Page>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="ModernKeePassLib, Version=2.19.0.20446, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="ModernKeePassLib, Version=2.19.0.17089, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ModernKeePassLib.2.19.2930\lib\netstandard1.2\ModernKeePassLib.dll</HintPath>
|
<HintPath>..\packages\ModernKeePassLib.2.19.2940\lib\netstandard1.2\ModernKeePassLib.dll</HintPath>
|
||||||
<Private>True</Private>
|
<Private>True</Private>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
@@ -1,50 +0,0 @@
|
|||||||
<Page
|
|
||||||
x:Name="pageRoot"
|
|
||||||
x:Class="ModernKeePass.Pages.BasicPage1"
|
|
||||||
DataContext="{Binding DefaultViewModel, RelativeSource={RelativeSource Self}}"
|
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
||||||
xmlns:local="using:ModernKeePass.Pages"
|
|
||||||
xmlns:common="using:ModernKeePass.Common"
|
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
||||||
mc:Ignorable="d">
|
|
||||||
|
|
||||||
<Page.Resources>
|
|
||||||
<!-- TODO: Delete this line if the key AppName is declared in App.xaml -->
|
|
||||||
<x:String x:Key="AppName">My Application</x:String>
|
|
||||||
</Page.Resources>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
This grid acts as a root panel for the page that defines two rows:
|
|
||||||
* Row 0 contains the back button and page title
|
|
||||||
* Row 1 contains the rest of the page layout
|
|
||||||
-->
|
|
||||||
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
|
|
||||||
<Grid.ChildrenTransitions>
|
|
||||||
<TransitionCollection>
|
|
||||||
<EntranceThemeTransition/>
|
|
||||||
</TransitionCollection>
|
|
||||||
</Grid.ChildrenTransitions>
|
|
||||||
<Grid.RowDefinitions>
|
|
||||||
<RowDefinition Height="140"/>
|
|
||||||
<RowDefinition Height="*"/>
|
|
||||||
</Grid.RowDefinitions>
|
|
||||||
|
|
||||||
<!-- Back button and page title -->
|
|
||||||
<Grid>
|
|
||||||
<Grid.ColumnDefinitions>
|
|
||||||
<ColumnDefinition Width="120"/>
|
|
||||||
<ColumnDefinition Width="*"/>
|
|
||||||
</Grid.ColumnDefinitions>
|
|
||||||
<Button x:Name="backButton" Margin="39,59,39,0" Command="{Binding NavigationHelper.GoBackCommand, ElementName=pageRoot}"
|
|
||||||
Style="{StaticResource NavigationBackButtonNormalStyle}"
|
|
||||||
VerticalAlignment="Top"
|
|
||||||
AutomationProperties.Name="Back"
|
|
||||||
AutomationProperties.AutomationId="BackButton"
|
|
||||||
AutomationProperties.ItemType="Navigation Button"/>
|
|
||||||
<TextBlock x:Name="pageTitle" Text="{StaticResource AppName}" Style="{StaticResource HeaderTextBlockStyle}" Grid.Column="1"
|
|
||||||
IsHitTestVisible="false" TextWrapping="NoWrap" VerticalAlignment="Bottom" Margin="0,0,30,40"/>
|
|
||||||
</Grid>
|
|
||||||
</Grid>
|
|
||||||
</Page>
|
|
@@ -1,106 +0,0 @@
|
|||||||
using ModernKeePass.Common;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Runtime.InteropServices.WindowsRuntime;
|
|
||||||
using Windows.Foundation;
|
|
||||||
using Windows.Foundation.Collections;
|
|
||||||
using Windows.UI.Xaml;
|
|
||||||
using Windows.UI.Xaml.Controls;
|
|
||||||
using Windows.UI.Xaml.Controls.Primitives;
|
|
||||||
using Windows.UI.Xaml.Data;
|
|
||||||
using Windows.UI.Xaml.Input;
|
|
||||||
using Windows.UI.Xaml.Media;
|
|
||||||
using Windows.UI.Xaml.Navigation;
|
|
||||||
|
|
||||||
// The Basic Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234237
|
|
||||||
|
|
||||||
namespace ModernKeePass.Pages
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// A basic page that provides characteristics common to most applications.
|
|
||||||
/// </summary>
|
|
||||||
public sealed partial class BasicPage1 : Page
|
|
||||||
{
|
|
||||||
|
|
||||||
private NavigationHelper navigationHelper;
|
|
||||||
private ObservableDictionary defaultViewModel = new ObservableDictionary();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// This can be changed to a strongly typed view model.
|
|
||||||
/// </summary>
|
|
||||||
public ObservableDictionary DefaultViewModel
|
|
||||||
{
|
|
||||||
get { return this.defaultViewModel; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// NavigationHelper is used on each page to aid in navigation and
|
|
||||||
/// process lifetime management
|
|
||||||
/// </summary>
|
|
||||||
public NavigationHelper NavigationHelper
|
|
||||||
{
|
|
||||||
get { return this.navigationHelper; }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public BasicPage1()
|
|
||||||
{
|
|
||||||
this.InitializeComponent();
|
|
||||||
this.navigationHelper = new NavigationHelper(this);
|
|
||||||
this.navigationHelper.LoadState += navigationHelper_LoadState;
|
|
||||||
this.navigationHelper.SaveState += navigationHelper_SaveState;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Populates the page with content passed during navigation. Any saved state is also
|
|
||||||
/// provided when recreating a page from a prior session.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="sender">
|
|
||||||
/// The source of the event; typically <see cref="Common.NavigationHelper"/>
|
|
||||||
/// </param>
|
|
||||||
/// <param name="e">Event data that provides both the navigation parameter passed to
|
|
||||||
/// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested and
|
|
||||||
/// a dictionary of state preserved by this page during an earlier
|
|
||||||
/// session. The state will be null the first time a page is visited.</param>
|
|
||||||
private void navigationHelper_LoadState(object sender, LoadStateEventArgs e)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Preserves state associated with this page in case the application is suspended or the
|
|
||||||
/// page is discarded from the navigation cache. Values must conform to the serialization
|
|
||||||
/// requirements of <see cref="Common.SuspensionManager.SessionState"/>.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="sender">The source of the event; typically <see cref="Common.NavigationHelper"/></param>
|
|
||||||
/// <param name="e">Event data that provides an empty dictionary to be populated with
|
|
||||||
/// serializable state.</param>
|
|
||||||
private void navigationHelper_SaveState(object sender, SaveStateEventArgs e)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#region NavigationHelper registration
|
|
||||||
|
|
||||||
/// The methods provided in this section are simply used to allow
|
|
||||||
/// NavigationHelper to respond to the page's navigation methods.
|
|
||||||
///
|
|
||||||
/// Page specific logic should be placed in event handlers for the
|
|
||||||
/// <see cref="Common.NavigationHelper.LoadState"/>
|
|
||||||
/// and <see cref="Common.NavigationHelper.SaveState"/>.
|
|
||||||
/// The navigation parameter is available in the LoadState method
|
|
||||||
/// in addition to page state preserved during an earlier session.
|
|
||||||
|
|
||||||
protected override void OnNavigatedTo(NavigationEventArgs e)
|
|
||||||
{
|
|
||||||
navigationHelper.OnNavigatedTo(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void OnNavigatedFrom(NavigationEventArgs e)
|
|
||||||
{
|
|
||||||
navigationHelper.OnNavigatedFrom(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
}
|
|
@@ -27,7 +27,7 @@
|
|||||||
<Grid.Resources>
|
<Grid.Resources>
|
||||||
<CollectionViewSource
|
<CollectionViewSource
|
||||||
x:Name="itemsViewSource"
|
x:Name="itemsViewSource"
|
||||||
Source="{Binding Path=Groups}"/>
|
Source="{Binding Groups}"/>
|
||||||
</Grid.Resources>
|
</Grid.Resources>
|
||||||
<!-- Horizontal scrolling grid -->
|
<!-- Horizontal scrolling grid -->
|
||||||
<GridView
|
<GridView
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
</GridView.ItemTemplate>
|
</GridView.ItemTemplate>
|
||||||
<GridView.Header>
|
<GridView.Header>
|
||||||
<StackPanel Width="480" Margin="0,4,14,0">
|
<StackPanel Width="480" Margin="0,4,14,0">
|
||||||
<TextBlock Margin="0,0,0,20" Style="{StaticResource SubheaderTextBlockStyle}" MaxHeight="60"/>
|
<TextBlock Margin="0,0,0,20" Style="{StaticResource SubheaderTextBlockStyle}" MaxHeight="60" Text="{Binding Entries.Count}"/>
|
||||||
<Image Height="400" Margin="0,0,0,20" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/>
|
<Image Height="400" Margin="0,0,0,20" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/>
|
||||||
<TextBlock Margin="0,0,0,0" Style="{StaticResource BodyTextBlockStyle}"/>
|
<TextBlock Margin="0,0,0,0" Style="{StaticResource BodyTextBlockStyle}"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
@@ -23,15 +23,15 @@ namespace ModernKeePass.Pages
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public NavigationHelper NavigationHelper
|
public NavigationHelper NavigationHelper
|
||||||
{
|
{
|
||||||
get { return this.navigationHelper; }
|
get { return navigationHelper; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public GroupDetailPage()
|
public GroupDetailPage()
|
||||||
{
|
{
|
||||||
this.InitializeComponent();
|
InitializeComponent();
|
||||||
this.navigationHelper = new NavigationHelper(this);
|
navigationHelper = new NavigationHelper(this);
|
||||||
this.navigationHelper.LoadState += navigationHelper_LoadState;
|
navigationHelper.LoadState += navigationHelper_LoadState;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -61,15 +61,14 @@ namespace ModernKeePass.Pages
|
|||||||
/// and <see cref="Common.NavigationHelper.SaveState"/>.
|
/// and <see cref="Common.NavigationHelper.SaveState"/>.
|
||||||
/// The navigation parameter is available in the LoadState method
|
/// The navigation parameter is available in the LoadState method
|
||||||
/// in addition to page state preserved during an earlier session.
|
/// in addition to page state preserved during an earlier session.
|
||||||
|
///
|
||||||
protected override void OnNavigatedTo(NavigationEventArgs e)
|
protected override void OnNavigatedTo(NavigationEventArgs e)
|
||||||
{
|
{
|
||||||
navigationHelper.OnNavigatedTo(e);
|
navigationHelper.OnNavigatedTo(e);
|
||||||
|
|
||||||
if (e.Parameter is GroupVm)
|
if (e.Parameter is GroupVm)
|
||||||
{
|
{
|
||||||
ViewModel = e.Parameter as GroupVm;
|
DataContext = e.Parameter as GroupVm;
|
||||||
ViewModel?.NotifyPropertyChanged("Name");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,8 +0,0 @@
|
|||||||
|
|
||||||
namespace ModernKeePass.ViewModels
|
|
||||||
{
|
|
||||||
public class Test
|
|
||||||
{
|
|
||||||
public string Title { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
@@ -2,7 +2,7 @@
|
|||||||
<packages>
|
<packages>
|
||||||
<package id="Microsoft.NETCore.Platforms" version="2.0.0" targetFramework="win81" />
|
<package id="Microsoft.NETCore.Platforms" version="2.0.0" targetFramework="win81" />
|
||||||
<package id="Microsoft.NETCore.Portable.Compatibility" version="1.0.2" targetFramework="win81" />
|
<package id="Microsoft.NETCore.Portable.Compatibility" version="1.0.2" targetFramework="win81" />
|
||||||
<package id="ModernKeePassLib" version="2.19.2930" targetFramework="win81" />
|
<package id="ModernKeePassLib" version="2.19.2940" targetFramework="win81" />
|
||||||
<package id="NETStandard.Library" version="2.0.0" targetFramework="win81" />
|
<package id="NETStandard.Library" version="2.0.0" targetFramework="win81" />
|
||||||
<package id="System.Net.Requests" version="4.3.0" targetFramework="win81" />
|
<package id="System.Net.Requests" version="4.3.0" targetFramework="win81" />
|
||||||
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="win81" />
|
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="win81" />
|
||||||
|
Reference in New Issue
Block a user