Browse Source

Fixed option popup result

Krzysztof Krysiński 1 year ago
parent
commit
3677a9d5e9

+ 1 - 1
src/PixiEditor.AvaloniaUI/Views/Dialogs/OptionPopup.axaml

@@ -27,7 +27,7 @@
             <ItemsControl.ItemTemplate>
                 <DataTemplate>
                     <Button Content="{Binding}" MinWidth="70" Margin="5,0"
-                            Command="{Binding #popup.CloseCommand}" CommandParameter="{Binding}"/>
+                            Command="{Binding #popup.PickOptionCommand}" CommandParameter="{Binding}"/>
                 </DataTemplate>
             </ItemsControl.ItemTemplate>
             <ItemsControl.ItemsPanel>

+ 8 - 0
src/PixiEditor.AvaloniaUI/Views/Dialogs/OptionPopup.axaml.cs

@@ -34,6 +34,7 @@ public partial class OptionPopup : PixiEditorPopup
     }
 
     public RelayCommand CancelCommand { get; set; }
+    public RelayCommand<object> PickOptionCommand { get; set; }
 
     public OptionPopup(string title, object content, ObservableCollection<object> options)
     {
@@ -42,11 +43,18 @@ public partial class OptionPopup : PixiEditorPopup
         Options = options;
         CancelCommand = new RelayCommand(Cancel);
         CloseCommand = new RelayCommand(Close);
+        PickOptionCommand = new RelayCommand<object>(PickOption);
         InitializeComponent();
         
         Loaded += OptionPopup_Loaded;
     }
 
+    private void PickOption(object? obj)
+    {
+        Result = obj;
+        Close();
+    }
+
     private void OptionPopup_Loaded(object? sender, EventArgs e)
     {
         InvalidateVisual();