Speichern jetzt als Button

This commit is contained in:
2026-07-10 13:54:57 +02:00
parent c02ef1437d
commit 5ebbe8d0a4

View File

@@ -4,7 +4,6 @@
xmlns:ai="clr-namespace:BeWo.View.Detail.AI"
xmlns:dxwui="http://schemas.devexpress.com/winfx/2008/xaml/windowsui"
xmlns:templateselectors="clr-namespace:BeWo.View.TemplateSelectors"
xmlns:view="clr-namespace:BeWo.View"
xmlns:viewmodel="clr-namespace:BeWo.ViewModel">
<ResourceDictionary.MergedDictionaries>
@@ -188,6 +187,23 @@
</Setter>
</Style>
<!-- Speichern-Button unter der User-Nachricht: nur beim Hovern sichtbar -->
<Style
x:Key="UserMessageSaveButtonStyle"
BasedOn="{StaticResource AssistentCommandButtonStyle}"
TargetType="{x:Type Button}">
<Setter Property="Visibility" Value="Hidden" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource AncestorType={x:Type ListViewItem}}}" Value="True">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
<!-- Bei ausgeblendeten Nachrichten kein Speichern (würde eine leere Nachricht speichern) -->
<DataTrigger Binding="{Binding ShowMessage}" Value="False">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
<!-- Buttonleiste unter der Assistent-Antwort: bei der letzten Nachricht immer sichtbar, sonst nur beim Hovern -->
<Style x:Key="AssistentMessageCommandBarStyle" TargetType="{x:Type ItemsControl}">
<Setter Property="Visibility" Value="Hidden" />
@@ -372,68 +388,63 @@
<!-- User Message Control -->
<DataTemplate x:Key="UserMessageTemplate">
<Border
Width="auto"
<Grid
Margin="60,0,0,0"
HorizontalAlignment="Right"
Background="#DEFFFFFF"
BorderBrush="Black"
BorderThickness="0"
CornerRadius="15, 15, 15, 15"
Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type view:BeWoView}}, Path=.}">
<Border.Style>
<Style TargetType="{x:Type Border}">
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem
Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ContextMenu}}, Path=PlacementTarget.Tag.DataContext.SavePromptCommand}"
CommandParameter="{Binding}"
Header="Speichern" />
</ContextMenu>
</Setter.Value>
</Setter>
<Style.Triggers>
<!-- Bei ausgeblendeten Nachrichten kein Kontextmenü (Speichern würde eine leere Nachricht speichern) -->
<DataTrigger Binding="{Binding ShowMessage}" Value="False">
<Setter Property="ContextMenu" Value="{x:Null}" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<Grid>
<TextBox Padding="12,8,12,8">
<TextBox.Style>
<Style BasedOn="{StaticResource MessageTextBoxStyle}" TargetType="{x:Type TextBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding ShowMessage}" Value="False">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
<!-- Platzhalter für ausgeblendete Nachrichten (Message kommt vom Server als null) -->
<TextBlock
Padding="12,8,12,8"
FontSize="14"
FontStyle="Italic"
Foreground="#FF888888"
Text="Nachricht ausgeblendet"
TextWrapping="Wrap">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<DataTrigger Binding="{Binding ShowMessage}" Value="False">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Grid>
</Border>
Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<Border
Width="auto"
HorizontalAlignment="Right"
Background="#DEFFFFFF"
BorderBrush="Black"
BorderThickness="0"
CornerRadius="15, 15, 15, 15">
<Grid>
<TextBox Padding="12,8,12,8">
<TextBox.Style>
<Style BasedOn="{StaticResource MessageTextBoxStyle}" TargetType="{x:Type TextBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding ShowMessage}" Value="False">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
<!-- Platzhalter für ausgeblendete Nachrichten (Message kommt vom Server als null) -->
<TextBlock
Padding="12,8,12,8"
FontSize="14"
FontStyle="Italic"
Foreground="#FF888888"
Text="Nachricht ausgeblendet"
TextWrapping="Wrap">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<DataTrigger Binding="{Binding ShowMessage}" Value="False">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Grid>
</Border>
<Button
Grid.Row="1"
Margin="0,4,0,0"
HorizontalAlignment="Right"
Command="{Binding DataContext.SavePromptCommand, RelativeSource={RelativeSource AncestorType={x:Type ListView}}}"
CommandParameter="{Binding}"
Content="Speichern"
Style="{StaticResource UserMessageSaveButtonStyle}" />
</Grid>
</DataTemplate>
<DataTemplate x:Key="CheckboxAssistentMessageTemplate">