Implement import and export of Settings.

- NEU: Stile können importiert und exportiert werden.
This commit is contained in:
Daniel Kraus
2015-08-11 21:22:34 +02:00
parent 00c60ba0ad
commit 0708f2a2b3
11 changed files with 379 additions and 49 deletions

View File

@ -23,7 +23,7 @@
xmlns:b="clr-namespace:Bovender.Mvvm.Views.Settings;assembly=Bovender"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:action="clr-namespace:Bovender.Mvvm.Actions;assembly=Bovender"
Width="380" Height="340" ResizeMode="CanResizeWithGrip" ShowInTaskbar="False"
Width="380" Height="365" ResizeMode="CanResizeWithGrip" ShowInTaskbar="False"
b:WindowState.CenterScreen="True" b:WindowState.Save="True"
Title="Stil auswählen"
>
@ -38,25 +38,40 @@
<action:ConfirmationAction Caption="Stil entfernen" OkButtonLabel="Ja" CancelButtonLabel="Nein"
Message="Soll dieser Stil wirklich unwiederbringlich entfernt werden?" />
</i:EventTrigger>
<i:EventTrigger SourceObject="{Binding ChooseExportFileNameMessage}" EventName="Sent">
<action:ChooseFileSaveAction Caption="Stil exportieren" Message="Bitte Dateinamen für den Export angeben." />
</i:EventTrigger>
<i:EventTrigger SourceObject="{Binding ChooseImportFileNameMessage}" EventName="Sent">
<action:ChooseFileOpenAction Caption="Stil importieren" Message="Bitte zu importierende Datei auswählen." />
</i:EventTrigger>
<!-- TODO: Implement meaningful error messages. -->
<i:EventTrigger SourceObject="{Binding ExportErrorMessage}" EventName="Sent">
<action:ShowViewDialogAction Assembly="zaaReloaded2" View="zaaReloaded2.Views.IoErrorView" />
</i:EventTrigger>
<i:EventTrigger SourceObject="{Binding ImportErrorMessage}" EventName="Sent">
<action:ShowViewDialogAction Assembly="zaaReloaded2" View="zaaReloaded2.Views.IoErrorView" />
</i:EventTrigger>
</i:Interaction.Triggers>
<StackPanel Margin="10">
<Label Target="{Binding ElementName=settingsList}">Bitte Stil auswählen:</Label>
<DockPanel Margin="0 5 0 0">
<StackPanel DockPanel.Dock="Right" Margin="10 0 0 0">
<Button Command="{Binding UseSettingsCommand}" Content="Wählen" IsDefault="True" Margin="0 0 0 5" />
<Button Command="{Binding AddSettingsCommand}" Content="Hinzufügen" Margin="0 10 0 5" />
<Button Command="{Binding EditSettingsCommand}" Content="Bearbeiten" Margin="0 0 0 5" />
<Button Command="{Binding DeleteSettingsCommand}" Content="Entfernen" Margin="0 0 0 5" />
<Button Command="{Binding CopySettingsCommand}" Content="Kopieren" Margin="0 0 0 5" />
<Button Command="{Binding CloseViewCommand}" Content="Schließen" Margin="0 10 0 0" IsCancel="True" />
</StackPanel>
<StackPanel>
<ListBox ItemsSource="{Binding SettingsList}"
DisplayMemberPath="Name"
ItemContainerStyle="{DynamicResource ResourceKey=ViewModelListBox}"
x:Name="settingsList"
MinWidth="240" MinHeight="240" />
<Button Command="{Binding ExportSettingsCommand}" Content="Exportieren" Margin="0 5 0 5" />
<Button Command="{Binding ImportSettingsCommand}" Content="Importieren" Margin="0 0 0 5" />
</StackPanel>
<UniformGrid DockPanel.Dock="Bottom" Margin="0 10 0 0" Columns="2" Rows="1" HorizontalAlignment="Right">
<Button Command="{Binding UseSettingsCommand}" Content="Auswählen" IsDefault="True" Margin="0 0 5 0" />
<Button Command="{Binding CloseViewCommand}" Content="Schließen" Margin="5 0 0 0" IsCancel="True" />
</UniformGrid>
<ListBox ItemsSource="{Binding SettingsList}"
DisplayMemberPath="Name"
ItemContainerStyle="{DynamicResource ResourceKey=ViewModelListBox}"
x:Name="settingsList"
MinWidth="240" MinHeight="240" />
</DockPanel>
</StackPanel>
</Window>