281 lines
13 KiB
XML
281 lines
13 KiB
XML
<localView:BeWoView
|
|
x:Class="BeWo.View.Detail.AiConversationChatView"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
|
|
xmlns:dxa="http://schemas.devexpress.com/winfx/2008/xaml/accordion"
|
|
xmlns:listviewmodel="clr-namespace:BeWo.ViewModel.ListViewModel"
|
|
xmlns:localView="clr-namespace:BeWo.View"
|
|
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
|
|
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
|
xmlns:viewmodel="clr-namespace:BeWo.ViewModel"
|
|
Width="Auto"
|
|
Height="Auto"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
d:DataContext="{d:DesignInstance Type=listviewmodel:AiConversationListVM}"
|
|
d:DesignHeight="600"
|
|
d:DesignWidth="600"
|
|
Focusable="True"
|
|
Loaded="BeWoView_Loaded"
|
|
mc:Ignorable="d">
|
|
<localView:BeWoView.Resources>
|
|
<ResourceDictionary>
|
|
<ResourceDictionary.MergedDictionaries>
|
|
<ResourceDictionary Source="..\..\Styles\ModernOrangeBlack.xaml" />
|
|
</ResourceDictionary.MergedDictionaries>
|
|
</ResourceDictionary>
|
|
</localView:BeWoView.Resources>
|
|
<localView:BeWoView.DataContext>
|
|
<listviewmodel:AiConversationListVM />
|
|
</localView:BeWoView.DataContext>
|
|
<Grid>
|
|
<GroupBox Style="{StaticResource ModuleAiNavigationStyle}">
|
|
<GroupBox.Header>
|
|
<StackPanel
|
|
Grid.Row="0"
|
|
Margin="3"
|
|
Orientation="Horizontal">
|
|
<Label
|
|
Margin="0,-4,0,0"
|
|
Content="Suche"
|
|
FontSize="14"
|
|
Foreground="#FFFFFFFF" />
|
|
<TextBox
|
|
x:Name="textbox_search"
|
|
Width="300"
|
|
Height="20"
|
|
MinWidth="90"
|
|
Margin="3,-5,0,0"
|
|
BorderThickness="0,0,0,0"
|
|
TabIndex="0"
|
|
Template="{DynamicResource SearchTextBoxTemplate}" />
|
|
<Button
|
|
x:Name="ReloadButton"
|
|
Width="36"
|
|
Height="24"
|
|
Margin="5,-5,0,0"
|
|
Command="{Binding ReloadConversationsCommand, RelativeSource={RelativeSource AncestorType={x:Type localView:BeWoView}, Mode=FindAncestor}}"
|
|
ToolTip="Liste aktualisieren">
|
|
<Button.Template>
|
|
<ControlTemplate TargetType="{x:Type Button}">
|
|
<Grid>
|
|
<Image x:Name="imgDisabled" Source="..\..\Ressources\Icons\SymbolRefresh32Disabled.png" />
|
|
<Image
|
|
x:Name="imgEnabled"
|
|
Opacity="0"
|
|
Source="..\..\Ressources\Icons\SymbolRefresh32.png" />
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="true">
|
|
<Setter TargetName="imgEnabled" Property="Opacity" Value="1" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Button.Template>
|
|
</Button>
|
|
</StackPanel>
|
|
</GroupBox.Header>
|
|
|
|
|
|
<Grid Margin="0,0,0,0">
|
|
<Grid.Background>
|
|
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
|
<GradientStop Offset="0" Color="#FFFFC48A" />
|
|
<GradientStop Offset="1" Color="#FFFF7830" />
|
|
</LinearGradientBrush>
|
|
</Grid.Background>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<Grid Grid.Row="1">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" MinWidth="50" />
|
|
<ColumnDefinition Width="3*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<Grid>
|
|
<ListView
|
|
x:Name="listbox_conversations"
|
|
Background="Transparent"
|
|
ItemsSource="{Binding VMList}"
|
|
SelectedItem="{Binding SelectedVM}">
|
|
<ListView.ItemTemplate>
|
|
<DataTemplate x:Name="conversation_datatemplate" DataType="viewmodel:AiConversationVM">
|
|
<TextBlock Text="{Binding Json}" />
|
|
</DataTemplate>
|
|
</ListView.ItemTemplate>
|
|
</ListView>
|
|
</Grid>
|
|
|
|
<Grid Grid.Column="1">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Grid Visibility="{Binding SelectedVM, Converter={StaticResource ObjectVisibilityConverter}}">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="0" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<!--<TextBox
|
|
x:Name="txt_input_context"
|
|
Height="100"
|
|
MaxHeight="200"
|
|
Margin="5"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
AcceptsReturn="True"
|
|
Visibility="Collapsed"
|
|
Text="{Binding Context_Input}" />-->
|
|
<TextBox
|
|
x:Name="txt_input_message"
|
|
Grid.Column="1"
|
|
Height="100"
|
|
MaxHeight="200"
|
|
Margin="5"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
AcceptsReturn="True"
|
|
Text="{Binding MessageInput}" />
|
|
<Button
|
|
Grid.Column="2"
|
|
Margin="5"
|
|
VerticalAlignment="Stretch"
|
|
Command="{Binding SendNewMessageCommand}"
|
|
Content="Senden" />
|
|
</Grid>
|
|
<ListView
|
|
x:Name="listbox_messages"
|
|
Grid.Row="1"
|
|
Background="Transparent"
|
|
ItemsSource="{Binding SelectedVM.Messages.VMList, Converter={StaticResource TestDebugConverter}}">
|
|
<ListView.ItemTemplate>
|
|
<DataTemplate x:Name="messages_datatemplate" DataType="viewmodel:AiConversationMessageVM">
|
|
<TextBlock Text="{Binding Json}" />
|
|
</DataTemplate>
|
|
</ListView.ItemTemplate>
|
|
</ListView>
|
|
</Grid>
|
|
</Grid>
|
|
<Border
|
|
Grid.Row="2"
|
|
Height="40"
|
|
Margin="0,0,0,0"
|
|
VerticalAlignment="Stretch">
|
|
<Grid>
|
|
<Rectangle Fill="#FF000000">
|
|
<Rectangle.OpacityMask>
|
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="#19000000" />
|
|
<GradientStop Offset="1" Color="#33FFFFFF" />
|
|
</LinearGradientBrush>
|
|
</Rectangle.OpacityMask>
|
|
</Rectangle>
|
|
<StackPanel
|
|
Height="Auto"
|
|
Margin="5,5,5,0"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Center"
|
|
Orientation="Horizontal">
|
|
<Button
|
|
x:Name="btnNew"
|
|
Height="25"
|
|
Margin="0,0,0,0"
|
|
Command="{Binding RequestNewConversationCommand}"
|
|
Content="Neuer Chat"
|
|
FontWeight="Medium"
|
|
Style="{StaticResource NavigationToolbarButtonStyle}"
|
|
Visibility="Visible" />
|
|
<Button
|
|
x:Name="btnSettings"
|
|
Height="25"
|
|
Margin="5,0,0,0"
|
|
Command="{Binding OpenAiSettingCommand, RelativeSource={RelativeSource AncestorType={x:Type localView:BeWoView}, Mode=FindAncestor}}"
|
|
Content="Einstellungen"
|
|
FontWeight="Medium"
|
|
Style="{StaticResource NavigationToolbarButtonStyle}"
|
|
Visibility="Visible" />
|
|
<Button
|
|
x:Name="btnTest"
|
|
Height="25"
|
|
Margin="0,0,0,0"
|
|
Command="{Binding TestCommand}"
|
|
Content="Test Szenario"
|
|
FontWeight="Medium"
|
|
Style="{StaticResource NavigationToolbarButtonStyle}"
|
|
Visibility="Visible" />
|
|
</StackPanel>
|
|
<StackPanel
|
|
Height="Auto"
|
|
Margin="5,5,5,0"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Center"
|
|
Orientation="Horizontal">
|
|
<Button
|
|
x:Name="btnClose"
|
|
Height="25"
|
|
Margin="0,0,0,0"
|
|
Command="ApplicationCommands.Close"
|
|
Content="Schließen"
|
|
FontWeight="Medium"
|
|
Style="{StaticResource NavigationToolbarButtonStyle}"
|
|
Visibility="Visible" />
|
|
</StackPanel>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
</GroupBox>
|
|
<Popup
|
|
x:Name="popup_newview"
|
|
Width="200"
|
|
Height="200"
|
|
StaysOpen="True">
|
|
<Grid Margin="5" Background="Orange">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="auto" />
|
|
<ColumnDefinition Width="auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="auto" />
|
|
<RowDefinition Height="auto" />
|
|
</Grid.RowDefinitions>
|
|
<Label>Kontext</Label>
|
|
<ComboBox Grid.Column="1" />
|
|
</Grid>
|
|
</Popup>
|
|
<Popup
|
|
x:Name="popup_settings"
|
|
Width="auto"
|
|
Height="auto"
|
|
Placement="Center"
|
|
StaysOpen="False">
|
|
<Grid Margin="5" Background="Orange">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="auto" />
|
|
<ColumnDefinition Width="auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="auto" />
|
|
<RowDefinition Height="auto" />
|
|
</Grid.RowDefinitions>
|
|
<Label>Modell:</Label>
|
|
<ComboBox
|
|
Grid.Column="1"
|
|
ItemsSource="{Binding Models}"
|
|
SelectedItem="{Binding SelectedModel, Mode=TwoWay}" />
|
|
</Grid>
|
|
</Popup>
|
|
</Grid>
|
|
</localView:BeWoView>
|