增加最大帧率提示文本
This commit is contained in:
@@ -107,6 +107,7 @@
|
|||||||
<s:String x:Key="Str_Zoom">Zoom</s:String>
|
<s:String x:Key="Str_Zoom">Zoom</s:String>
|
||||||
<s:String x:Key="Str_Rotation">Rotation (Degrees)</s:String>
|
<s:String x:Key="Str_Rotation">Rotation (Degrees)</s:String>
|
||||||
<s:String x:Key="Str_MaxFps">Max FPS</s:String>
|
<s:String x:Key="Str_MaxFps">Max FPS</s:String>
|
||||||
|
<s:String x:Key="Str_MaxFpsTooltip">Maximum frame rate of the preview. Set to 0 for no limit.</s:String>
|
||||||
<s:String x:Key="Str_PlaySpeed">Playback Speed</s:String>
|
<s:String x:Key="Str_PlaySpeed">Playback Speed</s:String>
|
||||||
<s:String x:Key="Str_RenderSelectedOnly">Render Selected Only</s:String>
|
<s:String x:Key="Str_RenderSelectedOnly">Render Selected Only</s:String>
|
||||||
<s:String x:Key="Str_ShowAxis">Show Axis</s:String>
|
<s:String x:Key="Str_ShowAxis">Show Axis</s:String>
|
||||||
|
|||||||
@@ -107,6 +107,7 @@
|
|||||||
<s:String x:Key="Str_Zoom">ズーム</s:String>
|
<s:String x:Key="Str_Zoom">ズーム</s:String>
|
||||||
<s:String x:Key="Str_Rotation">回転(度)</s:String>
|
<s:String x:Key="Str_Rotation">回転(度)</s:String>
|
||||||
<s:String x:Key="Str_MaxFps">最大FPS</s:String>
|
<s:String x:Key="Str_MaxFps">最大FPS</s:String>
|
||||||
|
<s:String x:Key="Str_MaxFpsTooltip">プレビュー画面の最大フレームレート。0 に設定すると制限なし。</s:String>
|
||||||
<s:String x:Key="Str_PlaySpeed">再生速度</s:String>
|
<s:String x:Key="Str_PlaySpeed">再生速度</s:String>
|
||||||
<s:String x:Key="Str_RenderSelectedOnly">選択のみレンダリング</s:String>
|
<s:String x:Key="Str_RenderSelectedOnly">選択のみレンダリング</s:String>
|
||||||
<s:String x:Key="Str_ShowAxis">座標軸を表示</s:String>
|
<s:String x:Key="Str_ShowAxis">座標軸を表示</s:String>
|
||||||
|
|||||||
@@ -107,6 +107,7 @@
|
|||||||
<s:String x:Key="Str_Zoom">缩放</s:String>
|
<s:String x:Key="Str_Zoom">缩放</s:String>
|
||||||
<s:String x:Key="Str_Rotation">旋转(角度)</s:String>
|
<s:String x:Key="Str_Rotation">旋转(角度)</s:String>
|
||||||
<s:String x:Key="Str_MaxFps">最大帧率</s:String>
|
<s:String x:Key="Str_MaxFps">最大帧率</s:String>
|
||||||
|
<s:String x:Key="Str_MaxFpsTooltip">预览画面的最大帧率,设置为 0 时则无帧率限制</s:String>
|
||||||
<s:String x:Key="Str_PlaySpeed">播放速度</s:String>
|
<s:String x:Key="Str_PlaySpeed">播放速度</s:String>
|
||||||
<s:String x:Key="Str_RenderSelectedOnly">仅渲染选中</s:String>
|
<s:String x:Key="Str_RenderSelectedOnly">仅渲染选中</s:String>
|
||||||
<s:String x:Key="Str_ShowAxis">显示坐标轴</s:String>
|
<s:String x:Key="Str_ShowAxis">显示坐标轴</s:String>
|
||||||
|
|||||||
@@ -87,118 +87,7 @@
|
|||||||
<Border Grid.Column="0" x:Name="_mainTabControlContainer">
|
<Border Grid.Column="0" x:Name="_mainTabControlContainer">
|
||||||
|
|
||||||
<!-- 功能页 -->
|
<!-- 功能页 -->
|
||||||
<TabControl x:Name="_mainTabControl" TabStripPlacement="Left" SelectedIndex="1">
|
<TabControl x:Name="_mainTabControl" TabStripPlacement="Left">
|
||||||
|
|
||||||
<!-- 浏览页 -->
|
|
||||||
<TabItem Header="{DynamicResource Str_Explorer}" DataContext="{Binding ExplorerListViewModel}">
|
|
||||||
<Grid>
|
|
||||||
<Grid.RowDefinitions>
|
|
||||||
<RowDefinition/>
|
|
||||||
<RowDefinition Height="Auto"/>
|
|
||||||
<RowDefinition/>
|
|
||||||
</Grid.RowDefinitions>
|
|
||||||
|
|
||||||
<DockPanel>
|
|
||||||
<Grid DockPanel.Dock="Top">
|
|
||||||
<Grid.ColumnDefinitions>
|
|
||||||
<ColumnDefinition Width="*"/>
|
|
||||||
<ColumnDefinition Width="Auto"/>
|
|
||||||
<ColumnDefinition Width="Auto"/>
|
|
||||||
</Grid.ColumnDefinitions>
|
|
||||||
<hc:TextBox hc:InfoElement.Placeholder="{StaticResource Str_Filter}"
|
|
||||||
Text="{Binding FilterString, UpdateSourceTrigger=PropertyChanged}"/>
|
|
||||||
<Button Grid.Column="1"
|
|
||||||
hc:IconElement.Geometry="{StaticResource Geo_Folder}"
|
|
||||||
Command="{Binding Cmd_ChangeCurrentDirectory}"
|
|
||||||
ToolTip="{DynamicResource Str_ChangeCurrentDirectoryTooltip}"/>
|
|
||||||
<Button Grid.Column="2"
|
|
||||||
hc:IconElement.Geometry="{StaticResource Geo_ArrowRotateRight}"
|
|
||||||
Command="{Binding Cmd_RefreshItems}"
|
|
||||||
ToolTip="{DynamicResource Str_RefreshItemsTooltip}"/>
|
|
||||||
</Grid>
|
|
||||||
|
|
||||||
<StatusBar DockPanel.Dock="Bottom">
|
|
||||||
<TextBlock>
|
|
||||||
<TextBlock.Text>
|
|
||||||
<MultiBinding Converter="{StaticResource StrFmtCvter}" ConverterParameter="Str_ListViewStatusBar">
|
|
||||||
<Binding Path="Items.Count" ElementName="_spineFilesListBox"/>
|
|
||||||
<Binding Path="SelectedItems.Count" ElementName="_spineFilesListBox"/>
|
|
||||||
</MultiBinding>
|
|
||||||
</TextBlock.Text>
|
|
||||||
</TextBlock>
|
|
||||||
</StatusBar>
|
|
||||||
|
|
||||||
<ListBox x:Name="_spineFilesListBox"
|
|
||||||
VirtualizingPanel.IsVirtualizing="True"
|
|
||||||
ItemsSource="{Binding ShownItems}"
|
|
||||||
DisplayMemberPath="FileName"
|
|
||||||
MouseLeftButtonDown="SpineFilesListBox_MouseLeftButtonDown">
|
|
||||||
<i:Interaction.Triggers>
|
|
||||||
<i:EventTrigger EventName="SelectionChanged">
|
|
||||||
<i:InvokeCommandAction Command="{Binding Cmd_SelectionChanged}"
|
|
||||||
CommandParameter="{Binding SelectedItems, ElementName=_spineFilesListBox}"/>
|
|
||||||
</i:EventTrigger>
|
|
||||||
</i:Interaction.Triggers>
|
|
||||||
|
|
||||||
<ListBox.ContextMenu>
|
|
||||||
<ContextMenu>
|
|
||||||
<MenuItem Header="{DynamicResource Str_AddSelectedItems}"
|
|
||||||
Command="{Binding Cmd_AddSelectedItems}"
|
|
||||||
CommandParameter="{Binding PlacementTarget.SelectedItems, RelativeSource={RelativeSource AncestorType={x:Type ContextMenu}}}"/>
|
|
||||||
<Separator/>
|
|
||||||
<MenuItem Header="{DynamicResource Str_GeneratePreviewForSelected}"
|
|
||||||
Command="{Binding Cmd_GeneratePreviews}"
|
|
||||||
CommandParameter="{Binding PlacementTarget.SelectedItems, RelativeSource={RelativeSource AncestorType={x:Type ContextMenu}}}"/>
|
|
||||||
<MenuItem Header="{StaticResource Str_DeletePreviewsForSelected}"
|
|
||||||
Command="{Binding Cmd_DeletePreviews}"
|
|
||||||
CommandParameter="{Binding PlacementTarget.SelectedItems, RelativeSource={RelativeSource AncestorType={x:Type ContextMenu}}}"/>
|
|
||||||
</ContextMenu>
|
|
||||||
</ListBox.ContextMenu>
|
|
||||||
</ListBox>
|
|
||||||
</DockPanel>
|
|
||||||
|
|
||||||
<GridSplitter Grid.Row="1" ResizeDirection="Rows"/>
|
|
||||||
|
|
||||||
<Grid Grid.Row="2" DataContext="{Binding SelectedItem}">
|
|
||||||
<Grid.Resources>
|
|
||||||
<Style TargetType="{x:Type Label}" BasedOn="{StaticResource LabelDefault}">
|
|
||||||
<Setter Property="HorizontalAlignment" Value="Stretch"/>
|
|
||||||
<Setter Property="HorizontalContentAlignment" Value="Right"/>
|
|
||||||
</Style>
|
|
||||||
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource TextBoxBaseStyle}">
|
|
||||||
<Setter Property="HorizontalContentAlignment" Value="Right"/>
|
|
||||||
</Style>
|
|
||||||
</Grid.Resources>
|
|
||||||
<Grid.ColumnDefinitions>
|
|
||||||
<ColumnDefinition Width="Auto"/>
|
|
||||||
<ColumnDefinition Width="*" />
|
|
||||||
</Grid.ColumnDefinitions>
|
|
||||||
<Grid.RowDefinitions>
|
|
||||||
<RowDefinition Height="Auto"/>
|
|
||||||
<RowDefinition Height="Auto"/>
|
|
||||||
<RowDefinition Height="*"/>
|
|
||||||
</Grid.RowDefinitions>
|
|
||||||
|
|
||||||
<!-- 文件目录 -->
|
|
||||||
<Label Grid.Row="0" Grid.Column="0" Content="{DynamicResource Str_FileDirectory}"/>
|
|
||||||
<TextBox Grid.Row="0" Grid.Column="1"
|
|
||||||
Text="{Binding FileDirectory, Mode=OneWay}"
|
|
||||||
IsReadOnly="True"
|
|
||||||
ToolTip="{Binding Text, RelativeSource={RelativeSource Mode=Self}}"/>
|
|
||||||
|
|
||||||
<!-- 文件名 -->
|
|
||||||
<Label Grid.Row="1" Grid.Column="0" Content="{DynamicResource Str_FileName}"/>
|
|
||||||
<TextBox Grid.Row="1" Grid.Column="1"
|
|
||||||
Text="{Binding FileName, Mode=OneWay}"
|
|
||||||
IsReadOnly="True"/>
|
|
||||||
|
|
||||||
<!-- 预览图 -->
|
|
||||||
<Border Grid.Row="2" Grid.ColumnSpan="2" Background="#a0a0a0">
|
|
||||||
<Image Source="{Binding PreviewImage, Mode=OneWay}" Stretch="Uniform"/>
|
|
||||||
</Border>
|
|
||||||
</Grid>
|
|
||||||
</Grid>
|
|
||||||
</TabItem>
|
|
||||||
|
|
||||||
<!-- 模型列表页 -->
|
<!-- 模型列表页 -->
|
||||||
<TabItem Header="{DynamicResource Str_SpineObject}">
|
<TabItem Header="{DynamicResource Str_SpineObject}">
|
||||||
@@ -659,6 +548,117 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
|
||||||
|
<!-- 浏览页 -->
|
||||||
|
<TabItem Header="{DynamicResource Str_Explorer}" DataContext="{Binding ExplorerListViewModel}">
|
||||||
|
<Grid>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<DockPanel>
|
||||||
|
<Grid DockPanel.Dock="Top">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<hc:TextBox hc:InfoElement.Placeholder="{StaticResource Str_Filter}"
|
||||||
|
Text="{Binding FilterString, UpdateSourceTrigger=PropertyChanged}"/>
|
||||||
|
<Button Grid.Column="1"
|
||||||
|
hc:IconElement.Geometry="{StaticResource Geo_Folder}"
|
||||||
|
Command="{Binding Cmd_ChangeCurrentDirectory}"
|
||||||
|
ToolTip="{DynamicResource Str_ChangeCurrentDirectoryTooltip}"/>
|
||||||
|
<Button Grid.Column="2"
|
||||||
|
hc:IconElement.Geometry="{StaticResource Geo_ArrowRotateRight}"
|
||||||
|
Command="{Binding Cmd_RefreshItems}"
|
||||||
|
ToolTip="{DynamicResource Str_RefreshItemsTooltip}"/>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
<StatusBar DockPanel.Dock="Bottom">
|
||||||
|
<TextBlock>
|
||||||
|
<TextBlock.Text>
|
||||||
|
<MultiBinding Converter="{StaticResource StrFmtCvter}" ConverterParameter="Str_ListViewStatusBar">
|
||||||
|
<Binding Path="Items.Count" ElementName="_spineFilesListBox"/>
|
||||||
|
<Binding Path="SelectedItems.Count" ElementName="_spineFilesListBox"/>
|
||||||
|
</MultiBinding>
|
||||||
|
</TextBlock.Text>
|
||||||
|
</TextBlock>
|
||||||
|
</StatusBar>
|
||||||
|
|
||||||
|
<ListBox x:Name="_spineFilesListBox"
|
||||||
|
VirtualizingPanel.IsVirtualizing="True"
|
||||||
|
ItemsSource="{Binding ShownItems}"
|
||||||
|
DisplayMemberPath="FileName"
|
||||||
|
MouseLeftButtonDown="SpineFilesListBox_MouseLeftButtonDown">
|
||||||
|
<i:Interaction.Triggers>
|
||||||
|
<i:EventTrigger EventName="SelectionChanged">
|
||||||
|
<i:InvokeCommandAction Command="{Binding Cmd_SelectionChanged}"
|
||||||
|
CommandParameter="{Binding SelectedItems, ElementName=_spineFilesListBox}"/>
|
||||||
|
</i:EventTrigger>
|
||||||
|
</i:Interaction.Triggers>
|
||||||
|
|
||||||
|
<ListBox.ContextMenu>
|
||||||
|
<ContextMenu>
|
||||||
|
<MenuItem Header="{DynamicResource Str_AddSelectedItems}"
|
||||||
|
Command="{Binding Cmd_AddSelectedItems}"
|
||||||
|
CommandParameter="{Binding PlacementTarget.SelectedItems, RelativeSource={RelativeSource AncestorType={x:Type ContextMenu}}}"/>
|
||||||
|
<Separator/>
|
||||||
|
<MenuItem Header="{DynamicResource Str_GeneratePreviewForSelected}"
|
||||||
|
Command="{Binding Cmd_GeneratePreviews}"
|
||||||
|
CommandParameter="{Binding PlacementTarget.SelectedItems, RelativeSource={RelativeSource AncestorType={x:Type ContextMenu}}}"/>
|
||||||
|
<MenuItem Header="{StaticResource Str_DeletePreviewsForSelected}"
|
||||||
|
Command="{Binding Cmd_DeletePreviews}"
|
||||||
|
CommandParameter="{Binding PlacementTarget.SelectedItems, RelativeSource={RelativeSource AncestorType={x:Type ContextMenu}}}"/>
|
||||||
|
</ContextMenu>
|
||||||
|
</ListBox.ContextMenu>
|
||||||
|
</ListBox>
|
||||||
|
</DockPanel>
|
||||||
|
|
||||||
|
<GridSplitter Grid.Row="1" ResizeDirection="Rows"/>
|
||||||
|
|
||||||
|
<Grid Grid.Row="2" DataContext="{Binding SelectedItem}">
|
||||||
|
<Grid.Resources>
|
||||||
|
<Style TargetType="{x:Type Label}" BasedOn="{StaticResource LabelDefault}">
|
||||||
|
<Setter Property="HorizontalAlignment" Value="Stretch"/>
|
||||||
|
<Setter Property="HorizontalContentAlignment" Value="Right"/>
|
||||||
|
</Style>
|
||||||
|
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource TextBoxBaseStyle}">
|
||||||
|
<Setter Property="HorizontalContentAlignment" Value="Right"/>
|
||||||
|
</Style>
|
||||||
|
</Grid.Resources>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<!-- 文件目录 -->
|
||||||
|
<Label Grid.Row="0" Grid.Column="0" Content="{DynamicResource Str_FileDirectory}"/>
|
||||||
|
<TextBox Grid.Row="0" Grid.Column="1"
|
||||||
|
Text="{Binding FileDirectory, Mode=OneWay}"
|
||||||
|
IsReadOnly="True"
|
||||||
|
ToolTip="{Binding Text, RelativeSource={RelativeSource Mode=Self}}"/>
|
||||||
|
|
||||||
|
<!-- 文件名 -->
|
||||||
|
<Label Grid.Row="1" Grid.Column="0" Content="{DynamicResource Str_FileName}"/>
|
||||||
|
<TextBox Grid.Row="1" Grid.Column="1"
|
||||||
|
Text="{Binding FileName, Mode=OneWay}"
|
||||||
|
IsReadOnly="True"/>
|
||||||
|
|
||||||
|
<!-- 预览图 -->
|
||||||
|
<Border Grid.Row="2" Grid.ColumnSpan="2" Background="#a0a0a0">
|
||||||
|
<Image Source="{Binding PreviewImage, Mode=OneWay}" Stretch="Uniform"/>
|
||||||
|
</Border>
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
</TabItem>
|
||||||
|
|
||||||
<!-- 画面参数页 -->
|
<!-- 画面参数页 -->
|
||||||
<TabItem Header="{DynamicResource Str_Canvas}" DataContext="{Binding SFMLRendererViewModel}">
|
<TabItem Header="{DynamicResource Str_Canvas}" DataContext="{Binding SFMLRendererViewModel}">
|
||||||
<TabItem.Resources>
|
<TabItem.Resources>
|
||||||
@@ -694,6 +694,7 @@
|
|||||||
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
||||||
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
||||||
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
<!-- 水平分辨率 -->
|
<!-- 水平分辨率 -->
|
||||||
@@ -728,21 +729,23 @@
|
|||||||
<Label Grid.Row="7" Grid.Column="0" Content="{DynamicResource Str_FlipY}"/>
|
<Label Grid.Row="7" Grid.Column="0" Content="{DynamicResource Str_FlipY}"/>
|
||||||
<ToggleButton Grid.Row="7" Grid.Column="1" IsChecked="{Binding FlipY}"/>
|
<ToggleButton Grid.Row="7" Grid.Column="1" IsChecked="{Binding FlipY}"/>
|
||||||
|
|
||||||
|
<Separator Grid.Row="8" Grid.Column="0" Grid.ColumnSpan="2" Margin="0 5"/>
|
||||||
|
|
||||||
<!-- 最大帧率 -->
|
<!-- 最大帧率 -->
|
||||||
<Label Grid.Row="8" Grid.Column="0" Content="{DynamicResource Str_MaxFps}"/>
|
<Label Grid.Row="9" Grid.Column="0" Content="{DynamicResource Str_MaxFps}" ToolTip="{DynamicResource Str_MaxFpsTooltip}"/>
|
||||||
<TextBox Grid.Row="8" Grid.Column="1" Text="{Binding MaxFps}"/>
|
<TextBox Grid.Row="9" Grid.Column="1" Text="{Binding MaxFps}" ToolTip="{DynamicResource Str_MaxFpsTooltip}"/>
|
||||||
|
|
||||||
<!-- 播放速度 -->
|
<!-- 播放速度 -->
|
||||||
<Label Grid.Row="9" Grid.Column="0" Content="{DynamicResource Str_PlaySpeed}"/>
|
<Label Grid.Row="10" Grid.Column="0" Content="{DynamicResource Str_PlaySpeed}"/>
|
||||||
<TextBox Grid.Row="9" Grid.Column="1" Text="{Binding Speed}"/>
|
<TextBox Grid.Row="10" Grid.Column="1" Text="{Binding Speed}"/>
|
||||||
|
|
||||||
<!-- 显示坐标轴 -->
|
<!-- 显示坐标轴 -->
|
||||||
<Label Grid.Row="10" Grid.Column="0" Content="{DynamicResource Str_ShowAxis}"/>
|
<Label Grid.Row="11" Grid.Column="0" Content="{DynamicResource Str_ShowAxis}"/>
|
||||||
<ToggleButton Grid.Row="10" Grid.Column="1" IsChecked="{Binding ShowAxis}"/>
|
<ToggleButton Grid.Row="11" Grid.Column="1" IsChecked="{Binding ShowAxis}"/>
|
||||||
|
|
||||||
<!-- 背景颜色 -->
|
<!-- 背景颜色 -->
|
||||||
<Label Grid.Row="11" Grid.Column="0" Content="{DynamicResource Str_BackgroundColor}" ToolTip="#AARRGGBB"/>
|
<Label Grid.Row="12" Grid.Column="0" Content="{DynamicResource Str_BackgroundColor}" ToolTip="#AARRGGBB"/>
|
||||||
<TextBox Grid.Row="11" Grid.Column="1" Text="{Binding BackgroundColor}" ToolTip="#AARRGGBB"/>
|
<TextBox Grid.Row="12" Grid.Column="1" Text="{Binding BackgroundColor}" ToolTip="#AARRGGBB"/>
|
||||||
|
|
||||||
<!-- 背景图案 -->
|
<!-- 背景图案 -->
|
||||||
<!-- 背景图案模式 -->
|
<!-- 背景图案模式 -->
|
||||||
|
|||||||
Reference in New Issue
Block a user