2025-02-15 17:15:30 +08:00

106 lines
5.9 KiB
XML

<Window x:Class="Milimoe.FunGame.Testing.Desktop.Solutions.NovelEditor.NovelEditor"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Milimoe.FunGame.Testing.Desktop.Solutions.NovelEditor"
mc:Ignorable="d"
Title="NovelEditor" Height="450" Width="800" WindowStartupLocation="CenterScreen"
>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!-- 左侧:节点列表和操作按钮 -->
<StackPanel Grid.Column="0" Margin="10">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Button Content="添加节点" Click="AddNodeButton_Click" Margin="5,5,5,5" Grid.Column="0" Grid.Row="0"/>
<Button Content="编辑节点" Click="EditNodeButton_Click" Margin="5,5,5,5" Grid.Column="1" Grid.Row="0"/>
<Button Content="加载" Click="LoadButton_Click" Margin="5,5,5,5" Grid.Column="0" Grid.Row="1"/>
<Button Content="保存" Click="SaveButton_Click" Margin="5,5,5,5" Grid.Column="1" Grid.Row="1"/>
<TextBlock x:Name="OpenedFileName" HorizontalAlignment="Center" Margin="5,5,5,5" Grid.Column="0" Grid.Row="2"/>
<Button Content="另存为" Click="SaveAsButton_Click" Margin="5,5,5,5" Grid.Column="1" Grid.Row="2"/>
</Grid>
<ListBox x:Name="NodeListBox" SelectionChanged="NodeListBox_SelectionChanged" d:ItemsSource="{d:SampleData ItemCount=5}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Key}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
<!-- 右侧:节点详情 -->
<ScrollViewer Grid.Column="1" Margin="10">
<StackPanel Grid.Column="1" Margin="10">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="节点详情" FontSize="16" FontWeight="Bold" VerticalAlignment="Center"/>
<!-- 导航按钮 -->
<StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Right">
<Button Content="上一个" Click="PreviousSentence_Click" Margin="5,0,0,0" Width="80"/>
<Button Content="下一个" Click="NextSentence_Click" Margin="5,0,0,0" Width="80"/>
</StackPanel>
</Grid>
<TextBlock x:Name="NodeKeyText" Margin="0,8,0,0" LineHeight="20" />
<TextBlock x:Name="NodeNameText" Margin="0,8,0,0" LineHeight="20" />
<TextBlock x:Name="NodeContentText" Margin="0,8,0,0" TextWrapping="Wrap" LineHeight="20"/>
<!-- 显示条件 -->
<TextBlock Text="显示条件" FontSize="14" FontWeight="Bold" Margin="0,10,0,0"/>
<TextBlock x:Name="NodeConditionsText" Margin="0,5,0,0" TextWrapping="Wrap" LineHeight="20" />
<!-- 选项 -->
<TextBlock Text="选项" FontSize="14" FontWeight="Bold" Margin="0,10,0,0"/>
<ListBox x:Name="OptionsListBox" d:ItemsSource="{d:SampleData ItemCount=5}" HorizontalContentAlignment="Stretch">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="auto">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<!-- 使用 ItemsControl 为每个 TargetNode 创建一个按钮 -->
<ItemsControl Grid.Column="1" ItemsSource="{Binding Targets}" HorizontalAlignment="Right">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<DockPanel LastChildFill="False" HorizontalAlignment="Right"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Content="{Binding Key}" Click="OptionButton_Click" Tag="{Binding}" Margin="5" Width="80" DockPanel.Dock="Right"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<StackPanel Grid.Column="0">
<TextBlock Text="{Binding Name}" FontWeight="Bold"/>
<TextBlock Text="{Binding Conditions}" Margin="10,0,0,0" TextWrapping="Wrap" Foreground="Gray"/>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</ScrollViewer>
</Grid>
</Window>